/* Conjoin · Vagas e candidatos da empresa no padrão da prancha (carregado depois de ref.css) */

/* Cartão de vaga com foto no topo */
.pj-card { display: flex; flex-direction: column; gap: var(--s-2); padding: var(--s-3); border-radius: var(--r-xl); background: var(--surface); box-shadow: var(--shadow-whisper); color: var(--ink); text-decoration: none; }
.pj-card-photo { position: relative; aspect-ratio: 16 / 7; overflow: hidden; border-radius: var(--r-lg); background: var(--nevoa); }
.pj-card-photo img { width: 100%; height: 100%; object-fit: cover; }
.pj-card-photo .tag { position: absolute; top: var(--s-2); left: var(--s-2); background: var(--alva); box-shadow: var(--shadow-whisper); }
.pj-card-photo .pj-brand { position: absolute; right: var(--s-2); bottom: var(--s-2); padding: 2px; border-radius: 50%; background: var(--alva); box-shadow: 0 4px 12px rgba(16, 28, 38, 0.18); }
.pj-card-photo .pj-brand .brand { --br: 40px; border-radius: 50%; }
.pj-card-body { display: flex; flex-direction: column; gap: 6px; padding: var(--s-1) var(--s-1) var(--s-1); }
.pj-card-title { font-size: var(--fs-title); line-height: var(--lh-title); font-weight: 700; color: var(--azul); }
.pj-card-code { font-size: 0.75rem; font-weight: 600; color: var(--costa-tinta); font-variant-numeric: tabular-nums; }
.pj-card.is-draft .pj-draft { display: flex; align-items: center; gap: var(--s-3); padding: var(--s-2) var(--s-1); }
.pj-card .pills { margin-top: 2px; }

/* Indicadores em linha nos cartões */
.ev-stats { display: flex; flex-wrap: wrap; gap: var(--s-1) var(--s-4); font-size: var(--fs-label); line-height: var(--lh-label); color: var(--ink-soft); }
.ev-stats strong { color: var(--azul); font-size: var(--fs-body); font-variant-numeric: tabular-nums; }

/* Visão geral da vaga: foto de topo sem recuo */
.screen[data-screen="/company/job/:id"] .screen-body { padding-top: 0; }
.pj-head { display: flex; flex-direction: column; gap: var(--s-2); padding-top: var(--s-5); }
.pj-head .detail-title { margin-top: 0; }

/* Passo do formulário */
.pj-step { display: flex; flex-direction: column; gap: 6px; padding: 0 var(--gutter) var(--s-3); }
.pj-step-head { display: flex; justify-content: space-between; align-items: baseline; font-size: var(--fs-label); }
.pj-step-head strong { color: var(--noite); }
.pj-step-head span { color: var(--ink-soft); font-variant-numeric: tabular-nums; }
.pj-step .progress-track { height: 6px; }

/* Critério oficial com três escolhas */
.ev-crit { display: flex; flex-direction: column; gap: var(--s-2); padding: var(--s-3) var(--s-4); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--shadow-whisper); }
.ev-crit .segmented .seg { min-height: 44px; }
.ev-crit .seg[aria-checked="true"] { font-weight: 700; }

/* Horários agrupados por dia */
.ev-day { display: flex; flex-direction: column; gap: var(--s-2); }
.ev-day .chip .ic:last-child { width: 14px; height: 14px; color: var(--costa-tinta); }
.ev-break { overflow-wrap: anywhere; }

/* Revisar e publicar: prévia e custo */
.pj-preview { display: flex; flex-direction: column; gap: var(--s-2); padding: var(--s-3); border: 1.5px dashed var(--mare-funda); border-radius: var(--r-xl); background: var(--bruma); }
.pj-preview .navcard-cta .btn { pointer-events: none; }
.pj-cost { display: flex; align-items: center; gap: var(--s-3); padding: var(--s-4); border-radius: var(--r-xl); background: var(--ouro-veu); }
.pj-cost .pc-ic { display: grid; place-items: center; flex: none; width: 44px; height: 44px; border-radius: 50%; background: var(--ouro); color: var(--noite); }
.pj-cost .pc-text { flex: 1; min-width: 0; }
.pj-cost .pc-text strong { display: block; font-size: var(--fs-title); line-height: var(--lh-title); color: var(--azul); }
.pj-cost .pc-text small { display: block; font-size: var(--fs-label); line-height: var(--lh-label); color: var(--porto); }

/* Cabeçalho compacto da vaga na lista de candidatos */
.pj-jobhead { display: flex; align-items: center; gap: var(--s-3); padding: var(--s-2); padding-right: var(--s-3); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--shadow-whisper); color: var(--ink); text-decoration: none; }
.pj-jobhead .jh-photo { width: 64px; height: 56px; flex: none; border-radius: var(--r-md); overflow: hidden; background: var(--nevoa); }
.pj-jobhead .jh-photo img { width: 100%; height: 100%; object-fit: cover; }
.pj-jobhead .jh-text { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pj-jobhead .jh-title { font-weight: 700; color: var(--azul); }
.pj-jobhead .jh-sub { font-size: var(--fs-label); line-height: var(--lh-label); color: var(--ink-soft); }

/* Próximo passo (aceitou, falta agendar) */
.pj-next { display: flex; gap: var(--s-3); align-items: flex-start; padding: var(--s-4); border-radius: var(--r-xl); background: var(--sucesso-veu); }
.pj-next .pn-ic { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--sucesso); color: var(--alva); }
.pj-next .pn-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.pj-next .pn-text strong { color: var(--noite); }
.pj-next .pn-text small { font-size: var(--fs-label); line-height: var(--lh-label); color: var(--porto); }

/* Perfil do candidato */
.pj-status { display: flex; gap: var(--s-3); align-items: flex-start; padding: var(--s-3) var(--s-4); border-radius: var(--r-lg); background: var(--bruma); }
.pj-status.is-destaque { background: var(--destaque-veu); }
.pj-status.is-sucesso { background: var(--sucesso-veu); }
.pj-status .ps-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; font-size: var(--fs-label); line-height: var(--lh-label); color: var(--porto); }
.pj-status .ps-text .tag { align-self: flex-start; }
.pj-compat { display: flex; flex-direction: column; gap: var(--s-3); padding: var(--s-4); border-radius: var(--r-xl); background: var(--agua-veu); }
.pj-compat .meter-value { color: var(--agua-tinta); }
.pj-compat .chips .tag { background: var(--alva); }
.prof-hero .ph-sub { font-size: var(--fs-label); color: var(--ink-soft); margin-top: -4px; }

/* Contato liberado */
.pj-contact { display: flex; flex-direction: column; align-items: center; gap: var(--s-3); padding: var(--s-6) var(--s-4) var(--s-4); border-radius: var(--r-xl); background: var(--surface); box-shadow: var(--shadow-whisper); text-align: center; }
.pj-contact .avatar { --av: 88px; box-shadow: 0 0 0 3px var(--alva), 0 0 0 6px var(--sucesso-veu); }
.pj-contact h2 { font-size: var(--fs-title-lg); line-height: var(--lh-title-lg); font-weight: 800; color: var(--azul); }
.pj-contact .pc-phone { font-size: var(--fs-title-lg); font-weight: 800; color: var(--noite); font-variant-numeric: tabular-nums; letter-spacing: 0.01em; }
.pj-contact .pc-mail { color: var(--ink-soft); overflow-wrap: anywhere; }
.pj-contact .pc-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-2); width: 100%; margin-top: var(--s-2); }
.pj-contact .pc-actions .btn { --btn-h: 48px; padding-inline: var(--s-3); }

/* Grupo de vaga na aba Candidatos */
.ev-group-head { display: flex; align-items: center; gap: var(--s-3); }
.ev-group-head .link-btn { flex: none; }

@media (max-width: 359px) {
  .pj-contact .pc-actions { grid-template-columns: 1fr; }
  .pj-contact .pc-phone { font-size: var(--fs-title); }
}

/* Cabeçalho do passo e do grupo nunca colidem em telas estreitas */
.pj-step-head { gap: var(--s-2); }
.pj-step-head strong { flex: 1; min-width: 0; }
.pj-step-head span { flex: none; }
.ev-group-head { align-items: flex-start; }
.ev-group-head > .grow { min-width: 0; }
.ev-group-head .link-btn { padding-top: 2px; }
@media (max-width: 359px) {
  .ev-group-head { flex-wrap: wrap; }
  .pj-head .ochips .ochip { min-height: 32px; padding: 0 var(--s-2); font-size: 0.8125rem; }
}
