/* Brasil Emprega 7.7.38 — integridade de textos e leitura responsiva */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

/* Permite que cada coluna flex/grid reduza sem empurrar ou cortar o conteúdo. */
:where(
  main,section,article,aside,header,footer,nav,form,fieldset,
  .container,.wrap,.grid,.card,.item,.metric,.actions,
  .admin-main,.admin-section,.section-toolbar,
  .company-pro-main,.company-pro-card,.company-pro-task,
  .crm-workspace,.crm-card,.crm-detail,.crm-column,
  .candidate-crm-row,.candidate-crm-card,.candidate-crm-cell,
  .h360-card,.h360-metric,.v360-card,.e360-card
){
  min-width:0;
}

/* Frases continuam inteiras; somente sequências sem espaço, como e-mail e código, podem quebrar. */
:where(
  h1,h2,h3,h4,h5,h6,p,li,dt,dd,label,legend,summary,figcaption,blockquote,
  td,th,.muted,.small,.meta,.notice,.security-box,.status,
  .admin-nav-label,.admin-only-note,
  .company-pro-task strong,.company-pro-task small,
  .company-pro-candidate strong,.company-pro-candidate small,
  .crm-card-name,.crm-card-vacancy,.crm-detail,
  .candidate-crm-person strong,.candidate-crm-person span,
  .candidate-crm-card strong,.candidate-crm-card small
){
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:none;
}

/* Remove cortes antigos por reticências nas áreas de leitura principal. */
.admin-page .top h1,
.admin-page .top .muted,
.admin-page .admin-nav-label,
.admin-page .card h2,
.admin-page .card h3,
.company-pro-top h1,
.company-pro-top p,
.company-pro-nav button,
.crm-title-row h2,
.crm-title-row p,
.candidate-crm-person strong,
.candidate-crm-person span{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

/* Métricas e cartões devem mostrar a legenda completa. */
.admin-page .metric,
.admin-page .metric strong,
.admin-page .metric span,
.h360-metric,
.h360-metric span,
.company-pro-kpi,
.company-pro-kpi span,
.candidate-crm-summary>div,
.crm-kpi,
.crm-kpi span{
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:anywhere;
}

/* Botões permanecem legíveis quando a largura disponível é menor. */
button,.btn,a.btn,input[type="button"],input[type="submit"]{
  line-height:1.25;
}

/* Tabelas mantêm rolagem no próprio bloco e não deformam a página. */
.tablewrap,[class*="tablewrap"],[class*="table-wrap"]{
  max-width:100%;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.tablewrap :where(td,th),
[class*="tablewrap"] :where(td,th),
[class*="table-wrap"] :where(td,th){
  overflow-wrap:anywhere;
  word-break:normal;
}

@media(max-width:1050px){
  .admin-page .top,
  .company-pro-top,
  .crm-title-row,
  .section-toolbar{
    align-items:flex-start!important;
  }
}

@media(max-width:760px){
  :where(button,.btn,a.btn,input[type="button"],input[type="submit"]){
    white-space:normal!important;
    text-align:center;
    overflow-wrap:anywhere;
  }

  .admin-page .top .actions,
  .company-pro-actions,
  .crm-actions,
  .actions{
    min-width:0;
    max-width:100%;
  }

  .admin-page .card,
  .company-pro-card,
  .crm-card,
  .candidate-crm-card{
    overflow-wrap:anywhere;
  }

  /* Contexto do cabeçalho pode ocupar duas linhas sem esconder palavras. */
  header.be-reference-header .be-context-main,
  header.be-reference-header .be-context-label,
  header.be-reference-header .be-context-value{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    line-height:1.25!important;
  }
}

/* Correções encontradas na auditoria visual da página principal. */
.be-stat-item small{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.3!important;
}

/* Evita que a margem do campo de busca ultrapasse internamente a barra lateral. */
.admin-page .admin-nav-search{
  width:calc(100% - 6px)!important;
}
