

body {background: #F7F9FC;}
.content-page-user { width:100%; position:relative; display:block; float:left; }
.container-fluid { margin-top: 0;}


body#buscar-profissionais header .menu ul li.buscar-profissionais {
  background: linear-gradient(135deg, #06F 2.74%, #FFF 37.57%);
}

body#buscar-profissionais header .menu ul li.buscar-profissionais .item {position: relative;
 
  color: rgb(3, 104, 255);
  font-family: Urbanist;
  font-style: normal;
  font-weight: 600;
  padding: 8px 16px;
  border-width: initial;
  border-style: none;
  border-color: initial;
  border-image: initial;
  margin: 0px;
  background: rgb(249, 251, 255);
  border-radius: 10px;}

section.conteudo {
  background: none;
  height: auto;
}

.plano-free {

  width: 100%;
  float: left; display: none; position: relative;   transition: 0.3s;
  padding: 20px; border-radius: 4px;  text-align: center;
  border: 1px solid #80acc226; margin-bottom: 50px; margin-top: 16px;

}
.plano-free:hover { border: 1px solid #4CAF50;}

.plano-free figure { width: 24px; height: 24px; border-radius: 4px; text-align: center;
  display: inline-block!important;
  float: initial !important; }

.plano-free h1 {width: 100%; height: auto; color: #fff; 
  font-weight: bold; margin: 0; padding: 0; border: none;}

.plano-free p {    color: #fff!important;
  padding: 0px; font-size: 16px;
  margin: 10px 0;    text-align: center;
  width: 100%;border: none;       float: initial !important;}

  .plano-free p b {color: #fff;}


.plano-free .btn-assinar figure {
    float: initial;
    display: inline-block;
    margin: 0 10px;    padding: 2px;
}
  .plano-free .btn-assinar p {color: #fff;}
 
  .btn-contratar {    display: inline-block;
    clear: both;
    background: #0066ff;
    border-radius: 4px; transition: 0.3s;
    padding: 10px 40px; margin: 10px 0;}

    .btn-contratar:hover {    background: #4CAF50; }




.content-page-user .users { width:100%; position:relative; display:block; float:left;  }
.content-page-user .users figure { width: 32px; height: 32px; border:2px solid blue; border-radius:50px; display:block; position:relative; float:left; margin-left:-24px; background:#fff; }

.content-page-user .users figure:nth-child(1) { margin-left:0; } 

.content-page-user h1 {     width: auto !important;
    float: left;
    display: block;
    position: relative;
    margin-bottom: 16px;
    margin-top: 0;
    letter-spacing: -2px; }

.content-page-user .users p { float:left; color: #93a7b0; padding: 8px 0;  display: block; position: relative; font-size: 14px; font-weight: bold; text-align: left;}    


.topo { width:100%; height: auto; position:relative; display:block; float:left; padding-bottom:40px;    background: none; }

.topo-content { width:100%; position:relative; display:block; float:left;padding: 0;  }
.topo-content figure { width:40px; height:40px; position:relative; display:block; float:left; border-radius: 4px;
  background: linear-gradient(128deg, #1C1E26 17.84%, #262935 111.13%);
  border-bottom: 1px solid #0369ff; overflow: hidden; padding:5px; margin: 2px; margin-right:16px; }
.topo-content figure img { width: 100%; overflow: hidden;}
.topo-content h1 { font-size: 32px; 
  
  width: 100%;
  margin: 4px 0;
  color: #fff;  }
  label figure {margin: 0!important; box-shadow:none!important; width: 16px; height: 16px; background: none!important; border:none!important; float: left; display: block; position: relative;}
  label p {color: #737e97!important; font-size: 16px!important; margin: 0!important;padding:5px!important; float: left; display: block; position: relative;}


  .topo-content p { color: #93a7b0;    float: left;}
  .topo-content p b {color: #fff}

  .topo-content span {float: left;
    background: #00bfa629;
    font-weight: bold;
    border-radius: 4px;
    font-size: 14px;
    padding: 5px 10px;
    color: #00ffa5;
    margin-left: 16px;    margin-top: -3px;}


  .topo-content .users { width:100%; position:relative; display:block; float:left;  }
.topo-content .users figure { width: 32px; height: 32px; border:2px solid blue; border-radius:50px; display:block; position:relative; float:left; margin-left:-8px; background:#fff; }

.topo-content .users figure:nth-child(1) { margin-left:0; } 

.topo-content .users p { float:left; color: #fff; padding: 8px;  display: block; position: relative; font-size: 14px; font-weight: bold; text-align: left;}

.buscavagas {     padding: 24px 0;
    float: left;
    width: 100%;
    min-height: 1000px;
    position: relative;
    display: block;margin: 15px;}

/*---- CARD VAGA --------*/
label {    width: 100%;
  color: #737e97;
  font-size: 14px;
  font-weight: 400;
  margin-top: 0;}

input {     width: 100%;
  height: auto !important;
  color: #737e97 !important;
  font-family: "Inter", sans-serif !important;
  border-radius: 4px;
  font-size: 14px !important;
  font-weight: 500;
  padding: 10px !important;
  border: 1px solid #3a4e801f !important;
  background: #ffffffe3 !important;
  margin-bottom: 8px;}
  input:focus{background: #fff!important;}

input:hover {
    border: 1px solid #007bff !important;
}
  

select {     width: 100%;
  height: auto !important;
  color: #737e97 !important;
  font-family: "Inter", sans-serif !important;
  border-radius: 4px;
  font-size: 14px !important;
  font-weight: 500;
  padding: 10px !important;
  border: 1px solid #3a4e801f !important;
  background: #ffffffe3 !important;
  margin-bottom: 8px;}

  .content form {     width: 100%;
    margin: 24px 0;
    padding: 24px;
    background: #fff;
    border-radius: 4px;}

   
   .btn-salvar {padding: 15px 50px;
    border-radius: 4px;
    text-align: center;
    text-decoration: none !important;
    outline: none;
    background: #ffffff;
    border: 1px solid #5077b138;
    margin-top: 16px;
    transition: 0.3s;    display: flex
    ;
        align-items: center;
        justify-content: center;
        flex-direction: row;}


.btn-salvar figure {border-radius: 4px; width: 24px!important;
   height: 24px!important; position: relative; display: block; float: left; margin: 0;background: linear-gradient(128deg, #1C1E26 17.84%, #262935 111.13%);
  border: none;    padding: 3px!important;   box-shadow: -10px 10px 30px 0px #0f121b;}

  .btn-salvar:hover {
    text-decoration: none !important;
    outline: none;
    background: #1d77db0d;
    border: 1px solid #1279eb5e;    box-shadow: -6px 6px 0px -1px #3f51b50a;
}
.btn-salvar:focus{ text-decoration: none!important;    outline: none;}

.btn-salvar:hover figure {}

.btn-salvar p {
    width: auto;
  font-size: 14px;
  color: #304c6e ;
  position: relative;
  margin: 0;
  display: block;
  float: left;
  clear: initial;
  padding: 2px 0 0 16px;
}
.buscavagas p {    color: #93a7b0;
  padding: 25px 0 0;
  border-top: 1px solid #1f2535;
  width: 100%;
  border-radius: 0;}
.buscavagas p b{ color: #fff;}

.card-vaga {
  width: 100%;
  margin: 8px 0;
  border-radius: 8px;
  transition: 0.3s;
  padding: 20px;
  display: block;
  position: relative;
  float: left;
  border-bottom: 2px solid #23293d;
  border: 1px solid #D2DAEB;
  background: linear-gradient(347deg, #FFF 34.2%, #e1e6ef21 103.57%);
}

.card-vaga:hover {
  border: 1px solid #0368FF;
}

 
   .card-vaga figure { 
 
    border: none!important;
    box-shadow: none;
    border-radius: 4px;
    text-align: center;
    padding: 0!important;
    display: block;
    position: relative;
    float: left;
    background: linear-gradient(129deg, rgb(28 42 65) 0%, #4e6681 100%);
    width: 40px !important;
    height: 40px !important;

   }  


   
   .ver-cv {
    position: relative;
    border-radius: 4px;
    padding: 3px;
    cursor: pointer;
    display: flex
;
    float: left;
    transition: 0.3s;
    background: #fff;
    border: 1px solid #607d8b1c;
    text-align: center;
    z-index: 2;
    margin: 0 8px 0 0;
    font-weight: 500;
    width: auto;
    height: auto;
    align-items: center;
    justify-content: center;
    align-content: center;
    flex-wrap: nowrap;
    flex-direction: row;
    clear: both;
}

.ver-cv input { display: none;}

.ver-cv:hover{ border: 1px solid #0390f4;background: #377de70f;}

  .ver-cv p {
    color: #3568bb !important;
    font-weight: 500 !important;
    padding: 0px 4px !important;
    font-size: 12px !important;
    float: right !important;
    border-top: 0;
    margin: 0 !important; border: 0;
}


.wpp {font-size: 14px;
  position: relative;
  border-radius: 4px;
  padding: 3px;
  display: flex;border: 0;
  float: left;
  transition: 0.3s;
  cursor: pointer;
  background: #fff;
  border: 1px solid #607d8b1c;
  text-align: center;
  z-index: 2;
  margin: 0;
  font-weight: 500;
  align-items: center;
  justify-content: center;
  align-content: center;
  flex-wrap: nowrap;
  flex-direction: row;}

  .wpp svg, .ver-cv svg{    width: 16px;}

  .wpp:hover .tooltip-candidatos {
    background: #0ba03dd1;
    border: 1px solid #00ff0d42;transition: 0.3s;
    transition: 0.3s;
}

  .wpp:hover {border: 1px solid #00ff40; color: #fff;}

  .wpp figure {width: 22px; height: 22px; background: none; margin: 0; padding: 0; float: left; display: block;}

.wpp p {color: #09b06c !important;
  padding: 1px 4px !important;
  font-size: 12px !important;
  font-weight: 500;
  border: 0;
  margin: 0 !important;}

  .btn-linkedin {
    position: relative;
    border-radius: 4px;
    padding: 0;
    display: flex;
    align-items: center;
    float: left;
    transition: 0.3s;
    cursor: pointer;
    text-align: center;
    z-index: 2;
    margin: 0;
    font-weight: 500;
    margin-left: 8px;
    width: 30px;
    height: 30px;
}
.btn-linkedin svg {width: 24px!important;}
   
   .card-vaga h1 {    font-size: 14px!important;}

   .card-vaga span {font-weight: 500!important;}

 
   .card-vaga figure img {
    width: auto;
    height: -webkit-fill-available;
    overflow: hidden;
    padding: 0!important;
    border-radius: 8px;
}
 
 
 .card-vaga .btn { width: 34px;
     position: absolute;
     border-radius: 4px;
     border: 2px solid #a8bcdc14;
     text-align: center;
     transition: 0.3s;
     padding: 2px 3px 4px 3px;
     z-index: 999999;
     margin-bottom: 20px;
     right: 22px;}
 
     .card-vaga h1 {
      color: #2F3740;
      width: 80%;
      text-align: left;
      font-size: 16px;
      float: left;
      font-weight: 600;
      height: auto;
      margin-top: 5px !important;
      margin-bottom: 8px;
      margin-left: 16px;
  }
  .card-vaga p {
    color: #93a7b0;
      text-align: left;
      font-size: 14px;
      float: left;
      font-weight: 400;
      margin: 10px 10px 5px 0;
  }
  
     
.card-vaga .tag-tipo {
       
  padding: 5px 8px;
  background: #604fa10d;
  border-radius: 4px;
  text-align: left;
  float: left;
  color: #7e63e4;
  font-weight: 600;
  clear: both;
  font-size: 12px;
  margin: 5px 8px 0 0;
  }
  
  .card-vaga .tag-salario {
    padding: 5px 8px;
    background: #03e8d21c;
    border-radius: 4px;
    text-align: left;
    float: left;
    color: #07b9b0;
    font-weight: 500;
    font-size: 12px;
    margin: 5px 0;
    margin-bottom: 24px;
  
  }

  
.card-vaga-mask h1 {  margin-bottom: 8px;
    padding: 7px 20px;}
  
  
  .card-vaga span {
    clear: both;
    float: left;
    display: block;
    position: absolute;
    right: 15px;
    padding: 5px 10px;
    font-size: 12px;
    color: #00a1ff;
    margin: 0 0 10px 0;
    border-radius: 4px;
    font-weight: bold;
    margin-right: 0;
    background: #00acff08;
    border: 1px solid #00a1ff1f;
}
  
  .card-vaga .arrow { 
    width: 32px;
   
    display: block;
    transition: 0.3s;
    height: 32px;
    border-radius: 4px;
    position: absolute;
    right: 7%;
    top: 40%;
    text-align: center;
    padding: 1px 2px;}

    .card-vaga .arrow svg {  transition: 0.3s; filter: brightness(0.5);}
  
    .card-vaga:hover .arrow { transition: 0.3s;}
    .card-vaga:hover .arrow svg {filter: brightness(1);}


    .vaga-empty {
      text-align: center;
      padding: 20px;
      font-weight: 500;
      display: block;
      float: right;
      width: 100%;
      margin: 16px 0;
      background: #1279eb1a;
      border: 1px solid #1279eb1a;
      border-radius: 6px;
  }
  .vaga-empty figure {width:40px; height: 40px; position: relative; display: inline-block;}
    .vaga-empty figure img { width: 100%;}
    .vaga-empty p {
      color: #687191;
      position: relative;
      display: inline-block;
      clear: initial;
      padding: 5px 10px;
      width: auto;
      border: none;
      font-size: 14px;
      font-weight: 500;    margin: 0;
  }
    
       /* ----- MEDIA 1400px --------------------------------- */


       @media only screen and (max-width: 1440px) {

       

        label {width: 100%;}
      
        label p{    float: initial !important;
          display: block;
          position: relative; font-size: 14px!important;
          width: 100%;}

        input {   font-size: 14px;}
       
        }

       /*  ----------------------------- Estilos para telas menores que 768 pixels -------------------------------------------------------- */


 @media only screen and (max-width: 767px) {
  .container-fluid {
    margin-top: 0!important;
}

  .topo { padding: 10px!important;    padding-bottom: 40px;}
  .topo-content {    padding: 0!important;}
  .conteudo {           padding: 0 !important;     z-index: 999999999999;}

  .card-contabilizei {display: none!important;}
  .conteudo .header {
    padding: 0 0 16px 0!important; background: none!important;
    height: auto!important;}
    .card-cora p {display: none;}

    .card-cora .btn-abrir-conta p {display: block;}
    .card-cora h1 b {    clear: both;
      float: left;}

    .card-vaga-mask h1 {    width: 80%;}

  .topo-content h1 {    width: 70%;    margin: 7px 0;
    font-size: 24px;
    background: linear-gradient(175deg, rgb(255 255 255) 10%, rgba(227, 227, 247, 0) 90%);
    -webkit-background-clip: text;
    width:70%;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    margin: 7px 0;
    color: transparent;
  
  }

  .conteudo form {
    margin: 20px 0!important;
    padding: 0;
}
    input {
      padding: 15px !important;
  } 
  label figure {margin: 0!important; box-shadow:none!important; width: 16px; height: 16px; background: none!important; border:none!important; float: left; display: block; position: relative;}
  label p {color: #737e97!important; font-size: 16px!important; margin: 0!important;padding:5px!important; float: left; display: block; position: relative;}


  .btn-salvar {
    padding: 15px 30px;
    margin: 15px 0;
}

.btn-salvar p { font-size: 16px;}

.buscavagas {
  padding:0;
  padding-left: 0;
}

.vaga-empty {margin: 0;}

.card-vaga-mask {padding: 20px;}

 }

/* Modal perfil — buscar profissionais */
body#buscar-profissionais .modal-backdrop {
    z-index: 1055 !important;
}

body#buscar-profissionais #bpFiltrosExtrasModal {
    z-index: 1070 !important;
}

body#buscar-profissionais #perfilModal {
    z-index: 1060 !important;
}

body#buscar-profissionais #perfilModal .modal-dialog,
body#buscar-profissionais #perfilModal .bp-perfil-modal-dialog {
    max-width: 900px !important;
    width: 900px !important;
}

@media (max-width: 940px) {
    body#buscar-profissionais #perfilModal .modal-dialog,
    body#buscar-profissionais #perfilModal .bp-perfil-modal-dialog {
        width: calc(100vw - 32px) !important;
        max-width: calc(100vw - 32px) !important;
    }
}

body#buscar-profissionais.modal-open .card-vaga .wpp,
body#buscar-profissionais.modal-open .card-vaga .ver-cv,
body#buscar-profissionais.modal-open .card-vaga .btn-linkedin {
    z-index: auto;
}

#perfilModal .bp-perfil-modal-dialog {
    max-width: 900px;
}

#perfilModal .bp-perfil-hint {
    margin: 18px 0 0;
    padding: 12px 14px;
    border-radius: 10px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    font-size: 13px;
    line-height: 1.5;
    color: #64748b;
}

body#buscar-profissionais button.ver-cv.bp-abrir-perfil {
    border: 1px solid #607d8b1c;
    background: #fff;
    font: inherit;
    color: inherit;
    appearance: none;
    -webkit-appearance: none;
}

body#buscar-profissionais button.ver-cv.bp-abrir-perfil:focus-visible {
    outline: 2px solid #0368ff;
    outline-offset: 2px;
}

#perfilModal .bp-perfil-header__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    flex-shrink: 0;
}

#perfilModal .bp-btn-linkedin {
    color: #0f172a;
}

#perfilModal .bp-perfil-section-title {
    margin: 0 0 12px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #64748b;
}

#perfilModal .bp-perfil-dados {
    margin-bottom: 22px;
}

#perfilModal .bp-perfil-dados-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

#perfilModal .bp-dado-card {
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    background: #fff;
}

#perfilModal .bp-dado-card__label {
    display: block;
    margin-bottom: 4px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
}

#perfilModal .bp-dado-card__value {
    font-size: 14px;
    color: #0f172a;
    word-break: break-word;
}

#perfilModal .bp-dado-card__value a {
    color: #0368ff;
    text-decoration: none;
}

#perfilModal .bp-dado-card__value a:hover {
    text-decoration: underline;
}

#perfilModal .bp-perfil-curriculo-wrap {
    margin-top: 4px;
}

#perfilModal .bp-cv-layout {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

#perfilModal .bp-cv-block {
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
}

#perfilModal .bp-cv-block__title {
    margin: 0;
    padding: 12px 16px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #0368ff;
    background: #f8fbff;
    border-bottom: 1px solid #e2e8f0;
}

#perfilModal .bp-cv-block__body {
    padding: 14px 16px 16px;
}

#perfilModal .bp-cv-block__body p {
    margin: 0 0 10px;
    font-size: 14px;
    line-height: 1.65;
    color: #334155;
}

#perfilModal .bp-cv-block__body p:last-child {
    margin-bottom: 0;
}

#perfilModal .bp-cv-contact-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

#perfilModal .bp-cv-contact-list li {
    font-size: 14px;
    color: #334155;
}

#perfilModal .bp-cv-contact-list a {
    color: #0368ff;
    text-decoration: none;
}

#perfilModal .bp-cv-contact-list a:hover {
    text-decoration: underline;
}

#perfilModal .bp-cv-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

#perfilModal .bp-cv-tag {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    background: #eff6ff;
    border: 1px solid #dbeafe;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
}

#perfilModal .bp-cv-jobs {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

#perfilModal .bp-cv-job {
    padding: 14px 0;
    border-bottom: 1px solid #e2e8f0;
}

#perfilModal .bp-cv-job:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

#perfilModal .bp-cv-job__company {
    margin: 0 0 4px;
    font-size: 15px;
    font-weight: 700;
    color: #0f172a;
}

#perfilModal .bp-cv-job__role {
    margin: 0 0 6px;
    font-size: 14px;
    font-weight: 600;
    color: #334155;
}

#perfilModal .bp-cv-job__period {
    margin: 0 0 10px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: #64748b;
}

#perfilModal .bp-cv-job__body p {
    margin: 0 0 8px;
}

#perfilModal .bp-cv-bullet {
    position: relative;
    padding-left: 14px;
}

#perfilModal .bp-cv-bullet::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.65em;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #0368ff;
}

#perfilModal .bp-perfil-cv {
    margin-top: 20px;
}

#perfilModal .bp-perfil-cv__body {
    margin-top: 12px;
}

#perfilModal .bp-perfil-curriculo {
    padding: 0;
    background: transparent;
    border: none;
}

@media (max-width: 640px) {
    #perfilModal .bp-perfil-dados-grid {
        grid-template-columns: 1fr;
    }

    #perfilModal .vc-perfil-header {
        flex-direction: column;
    }

    #perfilModal .bp-perfil-header__actions {
        width: 100%;
        justify-content: flex-start;
    }
}

/* ===== Buscar profissionais — layout 2025 ===== */
body#buscar-profissionais {
    background: #f7f9fc;
    --app-content-padding-x: 48px;
}

body#buscar-profissionais section.content.bp-page {
    float: none !important;
    display: block !important;
    width: calc(100% - var(--app-sidebar-width));
    max-width: none;
    min-width: 0;
    margin-left: var(--app-sidebar-width);
    margin-right: 0;
    padding: 24px var(--app-content-padding-x, 48px) 48px !important;
    box-sizing: border-box;
    overflow-x: hidden;
}

@media (min-width: 1512px) {
    body#buscar-profissionais section.content.bp-page {
        min-width: 1440px;
    }
}

@media (max-width: 768px) {
    body#buscar-profissionais section.content.bp-page {
        margin-left: 0;
        width: 100%;
        padding-left: var(--app-content-padding-x);
        padding-right: var(--app-content-padding-x);
    }
}

body#buscar-profissionais .container-fluid {
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.bp-results {
    width: 100%;
    min-width: 0;
}

.bp-hero__row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.bp-hero__title {
    margin: 0;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #0f172a;
}

.bp-hero__desc {
    margin: 8px 0 0;
    font-size: 15px;
    line-height: 1.5;
    color: #64748b;
    max-width: 560px;
}

.bp-hero__badge {
    flex-shrink: 0;
    padding: 6px 14px;
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: 13px;
    font-weight: 600;
}

.bp-filters {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 20px 22px;
    margin-bottom: 28px;
    box-shadow: 0 4px 24px rgba(15, 23, 42, 0.04);
}

body#buscar-profissionais .content .bp-filters {
    border-radius: 8px;
}

.bp-filters__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.bp-filters__grid--main {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.bp-filters__grid--modal {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.bp-field--wide {
    grid-column: span 2;
}

.bp-filters__more-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: #0368ff;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
}

.bp-btn--more-filters {
    position: relative;
}

.bp-filters__active {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #f1f5f9;
}

.bp-filters__active-label {
    font-size: 12px;
    font-weight: 600;
    color: #64748b;
    flex-shrink: 0;
}

.bp-filters__active-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.bp-filter-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 100%;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid #bfdbfe;
    background: #eff6ff;
    color: #1e40af;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
    text-decoration: none;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.bp-filter-badge:hover {
    background: #dbeafe;
    border-color: #93c5fd;
    color: #1e3a8a;
}

.bp-filter-badge__label {
    font-weight: 600;
    flex-shrink: 0;
}

.bp-filter-badge__value {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bp-filter-badge__remove {
    font-size: 16px;
    line-height: 1;
    opacity: 0.7;
    flex-shrink: 0;
}

.bp-filtros-extras-modal__content {
    border: none;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.18);
}

.bp-filtros-extras-modal__header {
    padding: 20px 22px 12px;
    border-bottom: 1px solid #f1f5f9;
}

.bp-filtros-extras-modal__header .modal-title {
    margin: 0 0 4px;
    font-size: 18px;
    font-weight: 700;
    color: #0f172a;
}

.bp-filtros-extras-modal__sub {
    margin: 0;
    font-size: 13px;
    color: #64748b;
    line-height: 1.45;
}

.bp-filtros-extras-modal__body {
    padding: 20px 22px;
}

.bp-filtros-extras-modal__footer {
    padding: 14px 22px 18px;
    border-top: 1px solid #f1f5f9;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.bp-filtros-extras-modal__footer .bp-btn--primary:last-child {
    margin-left: auto;
}

@media (max-width: 1200px) {
    .bp-filters__grid,
    .bp-filters__grid--main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bp-filters__grid--modal {
        grid-template-columns: 1fr;
    }

    .bp-field--wide {
        grid-column: span 1;
    }
}

@media (max-width: 992px) {
    .bp-filters__grid,
    .bp-filters__grid--main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 576px) {
    .bp-filters__grid,
    .bp-filters__grid--main,
    .bp-filters__grid--modal {
        grid-template-columns: 1fr;
    }

    .bp-field--wide {
        grid-column: span 1;
    }
}

.bp-field label {
    display: block;
    margin-bottom: 6px;
    font-size: 13px;
    font-weight: 600;
    color: #475569;
}

.bp-field input,
.bp-field select {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #0f172a !important;
    font-size: 14px !important;
    font-family: inherit !important;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.bp-field input:focus,
.bp-field select:focus {
    outline: none;
    border-color: #0368ff !important;
    box-shadow: 0 0 0 3px rgba(3, 104, 255, 0.12);
}

.bp-filters__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
    flex-wrap: wrap;
}

.bp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    border: 1px solid transparent;
    transition: background 0.15s, border-color 0.15s, color 0.15s, transform 0.1s;
}

.bp-btn--primary {
    background: #0368ff;
    color: #fff;
    border-color: #0368ff;
}

.bp-btn--primary:hover {
    background: #0256d4;
    color: #fff;
}

.bp-btn--profile {
    background: #fff;
    color: #0f172a;
    border-color: #e2e8f0;
    white-space: nowrap;
}

.bp-btn--profile:hover {
    background: #f8fafc;
    color: #0f172a;
    border-color: #cbd5e1;
}

.bp-btn--icon {
    padding: 0;
    width: 36px;
    height: 36px;
    min-width: 36px;
    min-height: 36px;
    max-width: 36px;
    max-height: 36px;
    flex: 0 0 36px;
    box-sizing: border-box;
    overflow: hidden;
}

.bp-btn--icon svg {
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    flex-shrink: 0;
    display: block;
    aspect-ratio: 1 / 1;
}

.bp-btn--wpp-icon {
    background: #fff;
    border-color: #bbf7d0;
    color: #15803d;
}

.bp-btn--wpp-icon:hover {
    background: #f0fdf4;
    border-color: #86efac;
}

.bp-btn--ghost {
    background: #fff;
    color: #475569;
    border-color: #e2e8f0;
}

.bp-btn--ghost:hover {
    background: #f8fafc;
    color: #0f172a;
}

.bp-btn--linkedin {
    background: #fff;
    color: #0A66C2;
    border-color: #dbe4f1;
}

.bp-btn--linkedin:hover {
    background: #f8fafc;
    color: #004182;
    border-color: #bfdbfe;
}

.bp-btn--sm {
    padding: 8px 14px;
    font-size: 13px;
}

.bp-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 16px;
    width: 100%;
    min-width: 0;
}

@media (max-width: 1200px) {
    .bp-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 576px) {
    .bp-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

.bp-card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
    height: 100%;
    box-sizing: border-box;
    transition: box-shadow 0.2s, border-color 0.2s;
    position: relative;
}

.bp-card.is-favorito {
    border-color: #fde68a;
    box-shadow: 0 4px 16px rgba(245, 158, 11, 0.08);
}

.bp-card__favorito {
    position: absolute;
    top: 12px;
    right: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: #fffbeb;
    border: 1px solid #fde68a;
    z-index: 1;
    pointer-events: none;
}

.bp-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

.bp-card__head {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}

.bp-card__identity {
    flex: 1;
    min-width: 0;
}

.bp-card__name {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.3;
    word-break: break-word;
}

.bp-card__actions {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    width: 100%;
    margin-top: auto;
    padding-top: 4px;
    border-top: 1px solid #f1f5f9;
}

/* Todos os botões do card com a mesma altura */
.bp-card .bp-card__actions .bp-btn,
.bp-card .bp-card__actions .bp-btn--profile,
.bp-card .bp-card__actions .bp-btn--favoritar,
.bp-card .bp-card__actions .bp-btn--primary,
.bp-card .bp-card__actions .bp-btn--icon,
.bp-card .bp-card__actions a.bp-btn--wpp-icon,
.bp-card .bp-card__actions a.bp-btn--linkedin {
    height: 36px !important;
    min-height: 36px !important;
    max-height: 36px !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    margin: 0 !important;
    float: none !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
}

.bp-card .bp-card__actions .bp-btn--profile,
.bp-card .bp-card__actions .bp-btn--sm.bp-btn--profile {
    padding: 0 12px !important;
    font-size: 12px !important;
    white-space: nowrap;
}

.bp-card .bp-card__actions .bp-card-add-vaga {
    padding: 0 12px !important;
    font-size: 12px !important;
    white-space: nowrap;
}

.bp-card .bp-card__actions .bp-btn--favoritar {
    padding: 0 10px !important;
    font-size: 12px !important;
    gap: 6px;
}

/* Ícones WhatsApp/LinkedIn nos cards: tamanho fixo, sem distorção */
.bp-card .bp-card__actions .bp-btn--icon,
.bp-card .bp-card__actions a.bp-btn--wpp-icon,
.bp-card .bp-card__actions a.bp-btn--linkedin {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    padding: 0 !important;
    flex: 0 0 36px !important;
    line-height: 0 !important;
    overflow: hidden !important;
}

.bp-card .bp-card__actions .bp-btn--icon svg,
.bp-card .bp-card__actions a.bp-btn--wpp-icon svg,
.bp-card .bp-card__actions a.bp-btn--linkedin svg {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    display: block !important;
    flex-shrink: 0 !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    transform: none !important;
    vertical-align: middle;
}

.bp-btn--favoritar {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #475569;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    padding: 0 10px;
    height: 36px;
    cursor: pointer;
    line-height: 1;
    font-family: inherit;
    box-sizing: border-box;
}

.bp-btn--favoritar:hover {
    border-color: #fbbf24;
    color: #b45309;
    background: #fffbeb;
}

.bp-btn--favoritar.is-favorito {
    border-color: #fde68a;
    background: #fffbeb;
    color: #b45309;
}

.bp-btn--favoritar.is-favorito svg path {
    fill: #f59e0b;
    stroke: #f59e0b;
}

.bp-btn--favoritar:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

.bp-card__avatar {
    width: 52px;
    height: 52px;
    margin: 0;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    border: 2px solid #f1f5f9;
}

.bp-card__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bp-card__nivel {
    display: inline-block;
    margin-top: 4px;
    font-size: 12px;
    font-weight: 600;
    color: #0368ff;
    background: #eff6ff;
    padding: 2px 8px;
    border-radius: 4px;
}

.bp-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.bp-tag {
    font-size: 12px;
    font-weight: 500;
    padding: 4px 10px;
    border-radius: 6px;
    background: #f1f5f9;
    color: #475569;
}

.bp-tag--muted {
    background: #fafbfc;
    color: #64748b;
}

.bp-empty {
    text-align: center;
    padding: 64px 24px;
    background: #fff;
    border: 1px dashed #e2e8f0;
    border-radius: 16px;
}

.bp-empty figure {
    width: 72px;
    height: 72px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background: #f1f5f9;
    color: #64748b;
}

.bp-empty h2 {
    margin: 0 0 8px;
    font-size: 20px;
    font-weight: 700;
    color: #0f172a;
}

.bp-empty p {
    margin: 0;
    font-size: 14px;
    color: #64748b;
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
}

/* Esconder legado */
body#buscar-profissionais .card-vaga {
    display: none !important;
}

/* Modal perfil — estrutura completa (buscar profissionais) */
body#buscar-profissionais #perfilModal .modal-content,
body#buscar-profissionais #perfilModal .vc-perfil-modal__content {
    background: #fff !important;
    border: none !important;
    border-radius: 16px !important;
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.18) !important;
}

body#buscar-profissionais #perfilModal .vc-perfil-modal__body {
    padding: 24px;
}

body#buscar-profissionais #perfilModal .vc-perfil-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

body#buscar-profissionais #perfilModal .vc-perfil-header__left {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    flex: 1;
    min-width: 0;
}

body#buscar-profissionais #perfilModal .vc-perfil-avatar {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px;
    max-width: 56px;
    margin: 0 !important;
    flex-shrink: 0;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid #fff;
    box-shadow: 0 4px 12px rgba(3, 104, 255, 0.12);
    float: none !important;
    position: relative !important;
    display: block !important;
}

body#buscar-profissionais #perfilModal .vc-perfil-avatar img {
    width: 100% !important;
    height: 100% !important;
    max-width: 56px;
    max-height: 56px;
    object-fit: cover;
    display: block;
}

body#buscar-profissionais #perfilModal .vc-perfil-header__info {
    flex: 1;
    min-width: 0;
}

body#buscar-profissionais #perfilModal .vc-perfil-name {
    margin: 0 0 6px;
    font-size: 18px;
    font-weight: 700;
    color: #0f172a;
    float: none !important;
    width: auto !important;
}

body#buscar-profissionais #perfilModal .vc-perfil-header__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    float: none !important;
}

body#buscar-profissionais #perfilModal .vc-perfil-contact,
body#buscar-profissionais #perfilModal .vc-perfil-nivel {
    font-size: 13px;
    color: #64748b;
    float: none !important;
}

body#buscar-profissionais #perfilModal .vc-perfil-modal__footer {
    padding: 14px 24px;
    border-top: 1px solid #e2e8f0;
    background: #fff;
}

body#buscar-profissionais #perfilModal .bp-perfil-vaga-picker {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
}

body#buscar-profissionais #perfilModal .bp-perfil-vaga-picker__list,
body#buscar-profissionais #perfilModal .bp-perfil-vaga-picker__list li {
    display: block !important;
    width: 100% !important;
    float: none !important;
}

body#buscar-profissionais #perfilModal .bp-perfil-vaga-picker__search-wrap {
    display: flex !important;
    align-items: center !important;
    margin-bottom: 10px !important;
}

body#buscar-profissionais #perfilModal .bp-perfil-vaga-picker__search {
    width: auto !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body#buscar-profissionais #perfilModal .bp-perfil-vaga-picker__search:hover,
body#buscar-profissionais #perfilModal .bp-perfil-vaga-picker__search:focus {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

body#buscar-profissionais #perfilModal .bp-perfil-vaga-picker__item {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ===== Kelly first + filtros secundários ===== */
.bp-kelly {
    margin: 0 0 16px;
}

.bp-kelly__card {
    background: #f6f7fa;
    border: 1px solid #dbe7ff;
    border-radius: 14px;
    padding: 20px 22px;
    box-shadow: 0 10px 28px rgba(3, 104, 255, 0.06);
    min-height: 600px;
    display: flex;
    flex-direction: column;
}

.bp-kelly__head {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 16px;
}

.bp-kelly__intro {
    flex: 1;
    min-width: 0;
}

.bp-kelly__new {
    flex-shrink: 0;
    margin-left: auto;
    border: 1px solid #dbe7ff;
    background: #fff;
    color: #0368ff;
    font-size: 13px;
    font-weight: 600;
    border-radius: 999px;
    padding: 8px 12px;
    cursor: pointer;
}

.bp-kelly__new:hover {
    background: #eff6ff;
}

.bp-kelly__card.is-chatting .bp-kelly__intro p {
    display: none;
}

.bp-kelly__card.is-chatting .bp-kelly__head {
    margin-bottom: 12px;
    align-items: center;
}

.bp-kelly__avatar {
    margin: 0;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    overflow: hidden;
    flex-shrink: 0;
    background: #eff6ff;
    border: 1px solid #dbeafe;
}

.bp-kelly__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.bp-kelly__title-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
}

.bp-kelly__intro h2 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #0f172a;
}

.bp-kelly__chip {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 999px;
    background: #0368ff;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.bp-kelly__intro p {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: #64748b;
    max-width: 640px;
}

.bp-kelly__messages {
    display: flex;
    flex-direction: column;
    gap: 14px;
    flex: 1 1 auto;
    min-height: 280px;
    max-height: min(70vh, 720px);
    overflow-y: auto;
    margin: 0 0 14px;
    padding: 12px 10px 14px;
    background: #f6f7fa;
    border-radius: 12px;
}

.bp-kelly-turn {
    display: flex;
    gap: 10px;
    align-items: flex-end;
    max-width: 100%;
}

.bp-kelly-turn--assistant {
    align-items: flex-start;
}

.bp-kelly-turn__avatar {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    overflow: hidden;
    flex-shrink: 0;
    background: #eff6ff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    color: #0368ff;
}

.bp-kelly-turn__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.bp-kelly-turn__stack {
    flex: 0 1 auto;
    width: fit-content;
    max-width: min(560px, calc(100% - 40px));
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
}

.bp-kelly-turn--user .bp-kelly-turn__stack {
    align-items: flex-end;
}

.bp-kelly-turn.has-cards .bp-kelly-turn__stack {
    width: 100%;
    max-width: 100%;
}

.bp-kelly-turn__body {
    width: fit-content;
    max-width: 100%;
    min-width: 0;
    background: #fff;
    border: 1px solid #e8eef8;
    border-radius: 4px 16px 16px 16px;
    padding: 10px 14px;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.bp-kelly-turn--user {
    flex-direction: row-reverse;
    justify-content: flex-start;
}

.bp-kelly-turn--user .bp-kelly-turn__body {
    background: #0368ff;
    border-color: #0368ff;
    color: #fff;
    border-radius: 16px 16px 4px 16px;
}

.bp-kelly-turn--user .bp-kelly-turn__meta {
    display: none;
}

.bp-kelly-turn--user .bp-kelly-turn__text {
    color: #fff;
}

.bp-kelly-h {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 6px;
}

.bp-kelly-turn__meta {
    font-size: 11px;
    font-weight: 700;
    color: #64748b;
    margin-bottom: 4px;
}

.bp-kelly-turn__text {
    font-size: 14px;
    line-height: 1.5;
    color: #0f172a;
    overflow-wrap: anywhere;
}

.bp-kelly-turn__text--typing {
    display: inline-flex;
    gap: 4px;
    align-items: center;
    min-height: 18px;
}

.bp-kelly-turn__text--typing span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #93c5fd;
    animation: bpKellyDot 1s infinite ease-in-out;
}

.bp-kelly-turn__text--typing span:nth-child(2) { animation-delay: 0.15s; }
.bp-kelly-turn__text--typing span:nth-child(3) { animation-delay: 0.3s; }

@keyframes bpKellyDot {
    0%, 80%, 100% { opacity: 0.35; transform: translateY(0); }
    40% { opacity: 1; transform: translateY(-2px); }
}

.bp-kelly__quick {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.bp-kelly-turn__text code {
    font-size: 12px;
    background: #eff6ff;
    padding: 1px 5px;
    border-radius: 4px;
}

.bp-kelly-pro-grid {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.bp-kelly-pro {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 12px;
}

.bp-kelly-pro__top {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.bp-kelly-pro__index {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: #0368ff;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.bp-kelly-pro__name {
    display: block;
    font-size: 14px;
    color: #0f172a;
}

.bp-kelly-pro__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
}

.bp-kelly-pro__tags span {
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
}

.bp-kelly-pro__actions {
    margin-top: 10px;
}

.bp-kelly-pro-grid__meta {
    margin: 4px 0 0;
    font-size: 12px;
    color: #64748b;
}

/* Cards da Kelly no chat: mesma grade dos profissionais (3 por linha) */
.bp-kelly .bp-grid--kelly {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    grid-auto-rows: 1fr;
    gap: 16px;
    margin-top: 4px;
    width: 100%;
}

.bp-kelly .bp-card__name,
.bp-kelly .bp-card__company,
.bp-kelly .bp-card__salary {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: normal;
}

.bp-kelly .bp-card__tags {
    flex-wrap: nowrap;
    overflow: hidden;
}

.bp-kelly .bp-card__tags .bp-card__nivel,
.bp-card__tags .bp-card__nivel {
    margin-top: 0;
}

.bp-kelly .bp-tag,
.bp-kelly .bp-card__nivel {
    white-space: nowrap;
    flex-shrink: 0;
}

.bp-kelly .bp-card__actions {
    flex-wrap: nowrap;
}

.bp-kelly .bp-card__actions .bp-btn {
    white-space: nowrap;
}

.bp-card--vaga .bp-card__logo {
    width: 44px;
    height: 44px;
    margin: 0;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    background: #eff6ff;
    border: 1px solid #e8eef8;
}

.bp-card--vaga .bp-card__logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.bp-card--vaga .bp-card__company {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    font-weight: 600;
    color: #475569;
}

.bp-card--vaga .bp-card__salary {
    margin-top: 6px;
    font-size: 13px;
    font-weight: 600;
    color: #0f172a;
    min-height: 20px;
    line-height: 20px;
}

.bp-kelly__form {
    margin-top: auto;
    padding-top: 4px;
}

.bp-kelly__suggestions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 12px;
}

.bp-kelly__card:not(.is-chatting) .bp-kelly__suggestions {
    margin-top: auto;
}

.bp-kelly__composer {
    display: flex;
    gap: 10px;
    align-items: center;
    background: #f8fbff;
    border: 1px solid #dbe7ff;
    border-radius: 12px;
    padding: 8px 8px 8px 14px;
}

.bp-kelly__composer textarea {
    flex: 1;
    min-height: 44px;
    max-height: 120px;
    resize: none;
    border: 0;
    background: transparent;
    outline: none;
    font-size: 15px;
    line-height: 1.45;
    color: #0f172a;
    font-family: inherit;
    padding: 8px 0;
}

.bp-kelly__send {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex-shrink: 0;
    align-self: center;
    margin-left: auto;
    border: 0;
    border-radius: 10px;
    background: #0368ff;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    padding: 12px 16px;
    min-height: 44px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.bp-kelly__send:hover {
    background: #0254d4;
}

.bp-kelly__send:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.bp-kelly__card.is-chatting .bp-kelly__suggestions[hidden],
.bp-kelly__suggestions[hidden] {
    display: none !important;
}

.bp-kelly__suggestion {
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #334155;
    border-radius: 999px;
    padding: 8px 12px;
    font-size: 13px;
    line-height: 1.3;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.bp-kelly__suggestion:hover {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #0368ff;
}
.bp-filters-wrap {
    margin-bottom: 20px;
}

.bp-filters-wrap[hidden] {
    display: none !important;
}

.bp-filters-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    text-align: left;
}

.bp-filters-wrap.is-open .bp-filters-toggle {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom-color: transparent;
}

.bp-filters-toggle__left {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.bp-filters-toggle__icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #f1f5f9;
    color: #475569;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.bp-filters-toggle strong {
    display: block;
    font-size: 14px;
    color: #0f172a;
}

.bp-filters-toggle small {
    display: block;
    margin-top: 2px;
    font-size: 12px;
    color: #94a3b8;
}

.bp-filters-toggle__meta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.bp-filters-toggle__badge {
    padding: 3px 8px;
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: 11px;
    font-weight: 700;
}

.bp-filters-toggle__chevron {
    color: #94a3b8;
    transition: transform 0.2s ease;
}

.bp-filters-wrap.is-open .bp-filters-toggle__chevron {
    transform: rotate(180deg);
}

.bp-filters-panel .bp-filters {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    margin-top: 0;
}

.bp-filters-wrap:not(.is-open) .bp-filters-panel {
    display: none;
}

.bp-kelly__login-hint {
    margin: 8px 2px 0;
    font-size: 12px;
    color: #64748b;
}

.bp-kelly__login-hint a {
    color: #0368ff;
    font-weight: 600;
}

.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

@media (max-width: 1100px) {
    .bp-kelly .bp-grid--kelly {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .bp-kelly__card {
        min-height: 480px;
    }

    .bp-kelly .bp-grid--kelly {
        grid-template-columns: 1fr;
    }

    .bp-kelly__composer {
        align-items: flex-end;
    }

    .bp-kelly__send span {
        display: none;
    }

    .bp-kelly__send {
        width: 44px;
        padding: 0;
    }

    .bp-kelly__head {
        flex-wrap: wrap;
    }

    .bp-kelly__new {
        margin-left: 0;
    }
}

/* Página pública /buscar-vagas: sem sidebar autenticada */
body#buscar-vagas {
    background: #f7f9fc;
}

body#buscar-vagas section.content.bp-page {
    float: none !important;
    display: block !important;
    width: 100% !important;
    max-width: 1440px;
    min-width: 0;
    margin: 24px auto 48px !important;
    padding: 0 20px 64px !important;
    left: auto !important;
    right: auto !important;
    box-sizing: border-box;
    overflow-x: hidden;
}

@media (min-width: 1480px) {
    body#buscar-vagas section.content.bp-page {
        min-width: 1440px;
        width: 1440px !important;
    }
}

body#buscar-vagas .container-fluid {
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    body#buscar-vagas section.content.bp-page {
        margin-top: 12px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}
