/* Brasil Emprega 7.8.75 R3 — cadastro do candidato clean, responsivo e sem sobreposições */
:root{
  --be-form-navy:#12375f;
  --be-form-green:#15935a;
  --be-form-border:#d8e2eb;
  --be-form-muted:#66798d;
  --be-form-soft:#f5f8fb;
}

/* Elimina alturas rígidas que cortavam conteúdo e controles. */
.be-register-card{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
.be-register-card{padding:26px!important}
.be-register-wrap{align-items:start!important}
.be-register-card .be-form-step.is-active{display:block!important;min-height:0!important}
.be-register-card .be-form-step .grid{gap:16px!important}
.be-register-card .field{min-width:0!important}
.be-register-card .field label{display:block!important;margin:0 0 7px!important;color:var(--be-form-navy)!important;font-size:.9rem!important;font-weight:750!important;line-height:1.35!important}
.be-register-card input:not([type="checkbox"]):not([type="file"]),
.be-register-card select,
.be-register-card textarea{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  min-height:50px!important;
  height:auto!important;
  padding:12px 14px!important;
  border:1px solid var(--be-form-border)!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#172f4e!important;
  font-size:1rem!important;
  line-height:1.35!important;
  box-shadow:none!important;
}
.be-register-card select{padding-right:42px!important;white-space:normal!important;text-overflow:clip!important}
.be-register-card textarea{min-height:108px!important;resize:vertical!important}
.be-register-card input:focus,
.be-register-card select:focus,
.be-register-card textarea:focus{border-color:#39a976!important;box-shadow:0 0 0 3px rgba(21,147,90,.12)!important;outline:none!important}
.be-register-card input:disabled{background:#f2f5f8!important;color:#7a8a9b!important;opacity:1!important}
.be-register-card .field small{margin-top:6px!important;color:var(--be-form-muted)!important;font-size:.78rem!important;line-height:1.45!important}
.be-form-actions{margin-top:22px!important;padding-top:0!important;gap:12px!important}
.be-form-actions button{min-height:48px!important;height:auto!important;border-radius:12px!important;font-size:.92rem!important;box-shadow:none!important}
#beNextStep,#submitBtn{background:var(--be-form-green)!important;border-color:var(--be-form-green)!important;color:#fff!important}
.be-draft-note{display:block!important;margin-top:12px!important;font-size:.76rem!important}

/* Upload profissional e legível. */
.be-file-field{padding:16px!important;border:1px dashed #b9cbd9!important;border-radius:14px!important;background:#f8fbfd!important}
.be-file-upload{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.be-file-upload input[type="file"]{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.be-file-select,.be-file-remove{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border-radius:10px;font-size:.86rem;font-weight:750;cursor:pointer}
.be-file-select{background:#fff;border:1px solid #aebfce;color:#15466f}
.be-file-select:hover{background:#eef5fa}
.be-file-remove{border:0;background:#eef2f5;color:#465d73}
.be-file-status{flex:1;min-width:180px;color:#4b6278;font-size:.84rem;overflow-wrap:anywhere}
.be-file-status.is-selected{color:#11784b;font-weight:700}
.be-file-status.is-error{color:#a23c32;font-weight:700}

/* Consentimentos leves e alinhados. */
.be-register-card .consent{
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr)!important;
  align-items:start!important;
  gap:10px!important;
  padding:9px 0!important;
  color:#52677b!important;
  font-size:.86rem!important;
  line-height:1.5!important;
}
.be-register-card .consent input[type="checkbox"]{width:22px!important;height:22px!important;margin:1px 0 0!important;accent-color:var(--be-form-green)!important}
.be-consent-required{border-top:1px solid #e8eef3;margin-top:2px;padding-top:15px!important}
.be-consent-optional{color:#61758a!important}

/* Modal de conclusão: diferencia pré-cadastro de conta criada. */
.be-success-modal{overflow:auto!important;align-items:flex-start!important;padding:22px!important}
.be-success-dialog{width:min(620px,100%)!important;max-height:none!important;margin:auto!important;padding:26px!important;border-radius:20px!important;overflow:visible!important}
.be-success-dialog>p{margin:6px 0 16px!important;color:#52697f!important;line-height:1.5!important}
.be-success-icon{width:48px!important;height:48px!important;font-size:1.35rem!important}
.be-protocol-box{margin:14px 0!important;padding:14px!important}
.be-access-invite{margin-top:14px!important;padding-top:15px!important}
.be-access-invite h3{font-size:1.08rem!important}
.be-access-invite>p{margin:0 0 12px!important;color:#61758a!important;font-size:.88rem!important}
.be-access-form{grid-template-columns:1fr!important;gap:11px!important}
.be-access-form label{font-size:.82rem!important}
.be-access-form input:not([type="checkbox"]){width:100%!important;min-width:0!important;height:46px!important;padding:10px 12px!important;border-radius:10px!important;font-size:.94rem!important}
.be-password-control{position:relative;min-width:0}
.be-password-control input{padding-right:78px!important}
.be-password-control button{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-height:34px;padding:6px 9px;border:0;border-radius:8px;background:#eef4f8;color:#17486f;font-size:.74rem;font-weight:750;cursor:pointer}
.be-password-requirements{display:flex;flex-wrap:wrap;gap:6px 12px;margin:-2px 0 1px;padding:0;list-style:none;color:#78899a;font-size:.76rem}
.be-password-requirements li:before{content:'○';margin-right:5px}
.be-password-requirements li.is-valid{color:#137b4d;font-weight:700}
.be-password-requirements li.is-valid:before{content:'✓'}
.be-terms-row{grid-template-columns:20px minmax(0,1fr)!important;gap:9px!important;font-size:.79rem!important;line-height:1.45!important}
.be-terms-row input{width:20px!important;height:20px!important;accent-color:var(--be-form-green)!important}
.be-success-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
.be-success-actions .be-create-access{grid-column:1/-1!important;min-height:48px!important}
.be-success-actions>*{min-height:44px!important;margin:0!important}

/* O Léo não pode cobrir campos, botões ou o modal. */
body.be-registration-focus #leoFab,
body.be-success-open #leoFab,
body.be-success-open .leo-fab,
body.be-registration-focus .leo-fab{display:none!important}

@media(min-width:901px){
  .be-register-section{padding:44px 0!important}
  .be-register-wrap{grid-template-columns:280px minmax(0,780px)!important;gap:24px!important;justify-content:center!important}
  .be-register-info{height:auto!important;min-height:0!important;max-height:none!important;top:100px!important}
  .be-register-benefits small{display:block!important}
}

@media(max-width:900px){
  .be-register-section{padding:24px 0 36px!important}
  .be-register-wrap{grid-template-columns:1fr!important}
  .be-register-info{display:none!important}
  .be-register-card{padding:22px 18px!important;border-radius:18px!important}
  .be-form-top h2{font-size:1.55rem!important}
  .be-form-actions{display:grid!important;grid-template-columns:1fr!important}
  .be-form-actions button{width:100%!important;min-width:0!important}
  .be-form-actions.is-multiple-actions{grid-template-columns:1fr 1fr!important}

  /* Cabeçalho compacto somente durante o preenchimento do cadastro. */
  body.be-registration-focus .be-site-header{position:sticky!important;top:0!important;z-index:5000!important}
  body.be-registration-focus .be-header-top-inner{min-height:68px!important;padding-top:6px!important;padding-bottom:6px!important}
  body.be-registration-focus .be-header-top .be-logo img{width:118px!important;height:52px!important;object-fit:contain!important}
  body.be-registration-focus .be-header-utility{display:none!important}
  body.be-registration-focus .be-header-main{min-height:58px!important}
  body.be-registration-focus .be-nav{min-height:58px!important;padding-top:5px!important;padding-bottom:5px!important}
  body.be-registration-focus .be-nav-section-label{font-size:.75rem!important;letter-spacing:.12em!important}
  body.be-registration-focus .be-menu-toggle{width:48px!important;height:48px!important;min-height:48px!important}
}

@media(max-width:640px){
  .be-register-card{padding:20px 16px!important}
  .be-form-top{align-items:flex-start!important}
  .be-step-counter{font-size:.75rem!important}
  .be-register-card input:not([type="checkbox"]):not([type="file"]),
  .be-register-card select{min-height:54px!important;font-size:1rem!important}
  .be-form-actions.is-multiple-actions{grid-template-columns:1fr!important}
  .be-file-upload{align-items:stretch}
  .be-file-select,.be-file-remove{width:100%}
  .be-file-status{min-width:0;width:100%}
  .be-success-modal{padding:12px!important}
  .be-success-dialog{padding:22px 16px 18px!important;border-radius:18px!important}
  .be-success-close{top:12px!important;right:12px!important}
  .be-success-actions{grid-template-columns:1fr!important}
  .be-success-actions .be-create-access{grid-column:auto!important}
}


/* 7.8.75 R4 — convite do teste vocacional após o pré-cadastro */
.be-vocational-invite{margin:18px 0;padding:18px;border:1px solid #bcdcca;border-radius:17px;background:linear-gradient(145deg,#f0faf5,#fff);text-align:left}.be-vocational-invite>span{display:block;color:#087743;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.be-vocational-invite h3{margin:7px 0 5px;color:#103b61;font-size:21px}.be-vocational-invite p{margin:0;color:#5b7185;line-height:1.52}.be-vocational-invite a{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;min-height:50px;border-radius:12px;background:#079154;color:#fff;text-decoration:none;font-weight:900}.be-vocational-invite a:hover{background:#087744}@media(max-width:560px){.be-vocational-invite{padding:16px}.be-vocational-invite h3{font-size:19px}}
