/* Brasil Emprega 7.8.20 — auditoria responsiva global */
:root{--be-touch:46px;--be-gap-mobile:12px}
html{overflow-x:hidden;scroll-behavior:smooth}
body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%}
img{height:auto}
button,a,input,select,textarea{box-sizing:border-box}
button,[role="button"],a.btn,a.button{touch-action:manipulation}
:focus-visible{outline:3px solid rgba(20,153,82,.28);outline-offset:2px}

/* Correções globais de textos, imagens e controles */
[class*="card"],[class*="panel"],[class*="shell"],[class*="grid"]{min-width:0}
input,select,textarea{max-width:100%}
button svg,a svg{flex:0 0 auto}

@media(max-width:980px){
  body{width:100%;min-width:0}
  main,section,.container,.wrap,.content{max-width:100%;min-width:0}
  button,a.btn,a.button,input,select{min-height:var(--be-touch)}
  input,select,textarea{font-size:16px}
  table{border-collapse:collapse}
  .table-wrap,.table-responsive,[class*="table-wrap"],[class*="table-responsive"]{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  iframe{max-width:100%}
}

/* Portal público */
@media(max-width:760px){
  .be-site-header,.be-header-top,.be-header-main{max-width:100%}
  .be-logo img,.brand img{object-fit:contain}
  .be-nav-panel a,.be-menu a{min-height:46px;display:flex;align-items:center}
  .hero,.be-hero,[class*="hero"]{min-width:0}
  .hero img,.be-hero img,[class*="hero"] img{max-width:100%;object-fit:cover}
  .btn-row,.actions,.cta-row,[class*="actions"]{flex-wrap:wrap;gap:10px}
  .btn-row>* ,.cta-row>*{min-width:0}
}

/* Área do candidato */
@media(max-width:820px){
  body .candidate-main,body .candidate-workspace,body .candidate-dashboard,body .candidate-profile-head{width:100%;max-width:100%;min-width:0}
  body .candidate-main{padding-left:12px!important;padding-right:12px!important}
  body .candidate-workspace [class*="grid"],body .candidate-dashboard [class*="grid"],body .auth-grid{grid-template-columns:1fr!important}
  body .candidate-workspace .card,body .candidate-main .card{max-width:100%;min-width:0;overflow-wrap:anywhere}
  body .candidate-workspace .actions,body .candidate-main .actions{display:flex;flex-wrap:wrap;gap:10px}
  body .candidate-workspace button,body .candidate-main button{min-height:46px}
  body .candidate-workspace table{min-width:680px}
}

/* Área da empresa */
@media(max-width:900px){
  body.company-private-page .company-private-bar-inner{padding:10px 14px;gap:10px;flex-wrap:wrap}
  body.company-private-page .company-private-links{display:flex;gap:8px;overflow-x:auto;max-width:100%;scrollbar-width:none}
  body.company-private-page .company-private-links::-webkit-scrollbar{display:none}
  body.company-private-page .company-private-main{width:100%;max-width:100%;padding:16px 12px 28px}
  body.company-private-page .company-auth-shell{grid-template-columns:1fr!important;max-width:720px;margin-inline:auto}
  body.company-private-page .company-auth-intro{padding:22px 18px!important}
  body.company-private-page .company-auth-form-side{padding:20px 16px!important}
  body.company-private-page .company-form,[class*="company-"][class*="grid"]{grid-template-columns:1fr!important}
  body.company-private-page .company-field,body.company-private-page .company-input-wrap{width:100%;min-width:0}
  body.company-private-page .company-form-actions{display:flex;flex-direction:column;gap:10px;align-items:stretch}
  body.company-private-page .company-form-actions>*{width:100%}
  body.company-private-page table{min-width:720px}
}

/* Administração: busca e uso integral no celular */
body.admin-page .admin-sidebar-search{position:relative!important}
body.admin-page .admin-sidebar-search svg{position:absolute!important;left:15px!important;top:50%!important;transform:translateY(-50%)!important;width:18px!important;height:18px!important;pointer-events:none!important;z-index:3!important}
body.admin-page .admin-sidebar-search input{padding-left:46px!important;text-indent:0!important;line-height:1.2!important}
body.admin-page .admin-sidebar-search input::placeholder{opacity:1!important}
@media(max-width:980px){
  body.admin-page .admin-main{overflow-x:hidden!important}
  body.admin-page .admin-content>*{max-width:100%!important}
  body.admin-page .admin-module-grid{grid-template-columns:1fr!important}
  body.admin-page .admin-header-actions .btn,body.admin-page .admin-header-actions button{min-height:44px!important}
  body.admin-page .admin-sidebar{padding-bottom:calc(28px + env(safe-area-inset-bottom))!important}
  body.admin-page .admin-nav a{overflow-wrap:anywhere}
  body.admin-page .admin-card,body.admin-page .panel,body.admin-page .card{overflow:hidden}
  body.admin-page .table-wrap,body.admin-page .table-responsive,body.admin-page .admin-table-wrap{overscroll-behavior-x:contain}
  body.admin-page .modal-card,body.admin-page .dialog-card,body.admin-page [role="dialog"]{width:min(100%,calc(100vw - 24px))!important}
}
@media(max-width:560px){
  body.admin-page .admin-header-actions{max-width:46vw}
  body.admin-page .admin-header-actions .btn span:not(.sr-only){white-space:nowrap}
  body.admin-page .admin-module-card{min-height:auto!important}
  body.admin-page .admin-module-card p{font-size:14px!important;line-height:1.45!important}
  body.admin-page .admin-content{padding-bottom:calc(28px + env(safe-area-inset-bottom))!important}
}
