
/* =========================================================
   REVISÃO FINAL 2026 — CAMADA DE ESTABILIDADE DO SITE
   Carregue este arquivo por último em todas as páginas.
========================================================= */
:root{
 --cj-primary:#6c5ce7;--cj-primary-2:#8b5cf6;--cj-ink:#172033;
 --cj-muted:#64748b;--cj-surface:#fff;--cj-page:#f6f7fb;
 --cj-line:#e5e7eb;--cj-radius:16px;
}
html{scroll-behavior:smooth}
body{min-height:100vh;background:var(--cj-page);color:var(--cj-ink);line-height:1.55}
a{overflow-wrap:anywhere} button,a,input,select,textarea{font:inherit}
button,.btn,.button{touch-action:manipulation}
main,section,article,aside,.content,.main-content,.dashboard-content{min-width:0}
[class*="grid"],[class*="Grid"]{min-width:0}
.card,.vaga-card,.empresa-card,.candidato-card,.stat-card,.profile-card,
.form-container,.content-card{max-width:100%;overflow-wrap:anywhere}
.card img,.vaga-card img,.empresa-card img,.candidato-card img{object-fit:cover}
input,select,textarea{width:100%;min-height:44px;border-radius:10px}
textarea{min-height:110px}
button,.btn,.button{min-height:42px}
table{border-collapse:collapse}
.table-responsive,.table-container,.tabela-container{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
:focus-visible{outline:3px solid rgba(108,92,231,.35);outline-offset:3px}
@media (max-width:900px){
 .container{width:min(94%,1400px)}
 .topo,.header{max-width:100vw}
 .topo .container,.header .container{gap:12px}
 .dashboard,.dashboard-container{width:100%!important;max-width:100%!important}
 .dashboard-content,.main-content{min-width:0!important}
 .cards-dashboard,.dashboard-cards,.cards-grid,.stats-grid,
 .vagas-grid,.empresas-grid,.candidatos-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:768px){
 body{overflow-x:hidden}
 .topo,.header{position:relative!important;top:auto!important}
 .topo .container,.header .container{flex-wrap:wrap}
 .topo nav,.header nav{max-width:100%}
 .topo nav ul,.header nav ul{flex-wrap:wrap!important}
 .dashboard,.dashboard-container{display:block!important;margin:0!important;padding:12px!important}
 .sidebar{width:100%!important;max-width:100%!important;position:relative!important;inset:auto!important}
 .sidebar nav ul{padding:0!important}
 .main-content,.dashboard-content,.conteudo{width:100%!important;max-width:100%!important}
 .cards-dashboard,.dashboard-cards,.cards-grid,.stats-grid,
 .vagas-grid,.empresas-grid,.candidatos-grid,
 .form-grid,.form-row,.perfil-grid,.profile-grid{grid-template-columns:1fr!important}
 .card,.dashboard-card,.stat-card,.vaga-card,.empresa-card,.candidato-card{padding:16px!important}
 .topo-perfil,.perfil-header,.profile-header,.page-header{flex-direction:column!important;align-items:flex-start!important}
 .acoes,.actions,.botoes{flex-wrap:wrap!important;gap:10px!important}
 .acoes>.btn,.actions>.btn,.botoes>.btn{flex:1 1 180px}
 .modal-content,.modal .content{width:calc(100% - 24px)!important;max-height:90vh;overflow:auto}
 .footer-content,.footer-grid{grid-template-columns:1fr!important}
}
@media (max-width:480px){
 body{font-size:15px}
 h1{font-size:clamp(1.65rem,8vw,2.15rem)!important}
 h2{font-size:clamp(1.3rem,6vw,1.7rem)!important}
 .container{width:94%}
 .topo .container,.header .container{width:94%}
 .sidebar nav{grid-template-columns:1fr!important}
 .sidebar nav a{min-height:44px}
 .cards-dashboard,.dashboard-cards,.cards-grid,.stats-grid{gap:12px!important}
 .card,.dashboard-card,.stat-card{border-radius:14px!important}
 .btn,.button,button[type="submit"]{width:100%}
 .hero{padding-inline:0!important}
}
