
/* ==========================================================
   CONECTA JOVEM — REVISÃO COMPLETA 2026
   Camada final unificada: roxo, contraste, responsividade,
   estados de foco, formulários, tabelas e modo escuro.
========================================================== */
:root{
  --cj-primary:#7c3aed;
  --cj-primary-strong:#6d28d9;
  --cj-primary-dark:#4c1d95;
  --cj-primary-soft:#f3e8ff;
  --cj-accent:#a855f7;
  --cj-bg:#f7f7fb;
  --cj-surface:#ffffff;
  --cj-surface-2:#faf9ff;
  --cj-text:#171329;
  --cj-text-2:#403b52;
  --cj-muted:#6b6478;
  --cj-border:#e4dff0;
  --cj-border-strong:#cfc5e4;
  --cj-success:#15803d;
  --cj-warning:#b45309;
  --cj-danger:#b91c1c;
  --cj-shadow-sm:0 4px 18px rgba(76,29,149,.07);
  --cj-shadow-md:0 12px 32px rgba(76,29,149,.10);
  --cj-radius:14px;
}
html{scroll-behavior:smooth;background:var(--cj-bg)}
body{
  min-width:320px;
  background:var(--cj-bg)!important;
  color:var(--cj-text)!important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
img,svg,video,iframe{max-width:100%}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.65}
a{color:var(--cj-primary)}
a:hover{color:var(--cj-primary-dark)}
h1,h2,h3,h4,h5,h6{color:var(--cj-text)}
p{color:var(--cj-text-2)}
.container,.cj-container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
input,select,textarea{
  color:var(--cj-text)!important;
  background:var(--cj-surface)!important;
  border:1px solid var(--cj-border-strong)!important;
  border-radius:12px!important;
}
input::placeholder,textarea::placeholder{color:#81788f!important;opacity:1}
input:focus,select:focus,textarea:focus{
  border-color:var(--cj-primary)!important;
  box-shadow:0 0 0 3px rgba(124,58,237,.15)!important;
  outline:none!important;
}
label,.campo label,.form-group label{color:var(--cj-text-2)!important}
.card,.form-card,.painel,.box,.bloco,.informacoes,.empresa-card,.cj-card{
  border-color:var(--cj-border)!important;
  box-shadow:var(--cj-shadow-sm);
}
.btn-primary,.btn-principal,.btn-cadastro,.material-primary,.btn-login-principal{
  background:linear-gradient(135deg,var(--cj-primary),var(--cj-primary-dark))!important;
  border-color:transparent!important;
  color:#fff!important;
}
.btn-primary:hover,.btn-principal:hover,.btn-cadastro:hover,.material-primary:hover,.btn-login-principal:hover{
  background:linear-gradient(135deg,var(--cj-primary-strong),var(--cj-primary-dark))!important;
}
.badge,.cj-badge,.tag,.status-badge{
  border-color:#ddd0f7!important;
}
:focus-visible{
  outline:3px solid rgba(124,58,237,.45)!important;
  outline-offset:3px!important;
}
table{width:100%;border-collapse:collapse}
th{background:var(--cj-primary-soft)!important;color:var(--cj-primary-dark)!important}
td,th{border-color:var(--cj-border)!important}
.cj-empty,.empty-state,.sem-resultados{
  background:var(--cj-surface)!important;
  color:var(--cj-muted)!important;
  border-color:var(--cj-border-strong)!important;
}
.mensagem.sucesso,.message.success-message{
  color:#166534!important;background:#f0fdf4!important;border-color:#bbf7d0!important;
}
.mensagem.erro,.message.error-message{
  color:#991b1b!important;background:#fef2f2!important;border-color:#fecaca!important;
}

/* Navegação */
header, .header, .cj-header{
  border-color:var(--cj-border)!important;
}
nav a.ativo, nav a.active{color:var(--cj-primary)!important}

/* Evita overflow horizontal causado por grids/cards */
main,section,.conteudo,.content,.page-content{max-width:100%}
.grid,.cards-grid,.dashboard-grid{min-width:0}
.card,.vaga-card,.empresa-card,.candidato-card{min-width:0}
pre,code{max-width:100%;overflow:auto}

/* Imagens */
img{display:block}
.logo-img{object-fit:contain}
img[hidden]{display:none!important}

/* Formulários */
form{max-width:100%}
fieldset{border:1px solid var(--cj-border);border-radius:var(--cj-radius);padding:20px}
legend{padding:0 8px;color:var(--cj-primary-dark);font-weight:800}

/* Modal */
.modal,.modal-overlay{z-index:3000}
.modal-content,.modal-box{
  background:var(--cj-surface)!important;
  color:var(--cj-text)!important;
  border-color:var(--cj-border)!important;
}

/* Mobile */
@media (max-width:900px){
  .container,.cj-container{width:min(100% - 32px,1180px)}
  .grid-4,.cj-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-3,.cj-grid-3{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .container,.cj-container{width:min(100% - 24px,1180px)}
  .grid-2,.grid-3,.grid-4,.cj-grid-2,.cj-grid-3,.cj-grid-4{grid-template-columns:1fr!important}
  .card,.form-card,.painel,.box,.bloco,.informacoes,.empresa-card,.cj-card{border-radius:12px!important}
  input,select,textarea{font-size:16px!important}
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* Respeita usuários que preferem reduzir movimento */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
