/* Processos seletivos (triagem) — interna e utilitária (spec §5). Mora dentro da casca comum (/shell.css). */
.selecao { font-size: 14px; line-height: 1.45; color: #222; }
button, select, input, textarea { font: inherit; }
.selecao button, dialog#dlg button { cursor: pointer; border: 1px solid #bbb; background: #fff; border-radius: 4px; padding: 6px 10px; }
.selecao button:hover, dialog#dlg button:hover { background: #eee; }
.selecao button:disabled, dialog#dlg button:disabled { opacity: .5; cursor: wait; }
.selecao button.primario, dialog#dlg button.primario { background: #0C302D; color: #fff; border-color: #0C302D; }
.selecao button.perigo { color: #B3261E; border-color: #B3261E; }

.topo { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; padding: 10px 16px; background: #fff; border-bottom: 1px solid #ddd; position: sticky; top: 0; z-index: 5; }
.marca { color: #0C302D; font-size: 16px; margin-right: 8px; }
.ctl { display: inline-flex; gap: 6px; align-items: center; color: #555; }
.ctl select { padding: 5px; max-width: 260px; }
.abas { display: inline-flex; gap: 4px; }
.abas button.ativa { background: #0C302D; color: #fff; border-color: #0C302D; }

.corpo { display: flex; align-items: flex-start; }
.lista { flex: 1; min-width: 0; padding: 12px 16px; }
.info { margin: 0 0 8px; color: #555; }
.tabela-wrap { overflow-x: auto; background: #fff; border: 1px solid #ddd; border-radius: 4px; }
.selecao table { border-collapse: collapse; width: 100%; }
.selecao th, .selecao td { text-align: left; padding: 7px 10px; border-bottom: 1px solid #eee; white-space: nowrap; }
.selecao th { background: #fafafa; font-weight: 600; color: #444; position: sticky; top: 0; }
.selecao tbody tr { cursor: pointer; }
.selecao tbody tr:hover { background: #f0f5f3; }
.selecao tbody tr.sel { background: #dfeee8; }
td.nome { white-space: normal; min-width: 160px; font-weight: 500; }
.score { font-weight: 600; }
.score.alto { color: #1b6b3a; } .score.medio { color: #8a6d00; } .score.baixo { color: #999; }
.selecao .tag { padding: 1px 7px; background: #eee; color: #222; font-weight: 400; }
.tag.incompleta { background: #fff2cc; }
.st-nova { background: #e3ecff; } .st-desclassificado { background: #f6dcdc; } .st-banco_futuro { background: #efe7d2; }
.st-a_contatar, .st-contatado { background: #dff0e6; } .st-entrevista_convidada, .st-aprovado, .st-contratado { background: #c9ead7; }

.painel { width: min(620px, 100%); flex: none; background: #fff; border-left: 1px solid #ddd; height: calc(100vh - var(--topo, 53px)); overflow-y: auto; position: sticky; top: var(--topo, 53px); padding: 14px 18px 40px; }
.fechar { float: right; font-size: 20px; line-height: 1; padding: 2px 9px; }
.painel h2 { margin: 0 0 2px; font-size: 18px; color: #0C302D; }
.painel h3 { margin: 18px 0 6px; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: #666; }
.painel .sub { color: #555; margin: 0 0 10px; }
.acoes { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0; }
.alertas { margin: 0; padding-left: 18px; color: #8a3b00; }
.resumo { white-space: pre-wrap; background: #f7f8f7; padding: 8px 10px; border-radius: 4px; margin: 0; }
dl.resp { display: grid; grid-template-columns: max-content 1fr; gap: 4px 12px; margin: 0; }
dl.resp dt { color: #666; } dl.resp dd { margin: 0; white-space: pre-wrap; word-break: break-word; }
.pdf { width: 100%; height: 70vh; border: 1px solid #ddd; border-radius: 4px; }
.obs textarea { width: 100%; min-height: 70px; }
.eventos { list-style: none; padding: 0; margin: 0; font-size: 12px; color: #555; }
.eventos li { padding: 3px 0; border-bottom: 1px dotted #e5e5e5; }
.erro { color: #B3261E; }
.ok { color: #1b6b3a; }
.selecao .aviso { background: #fff7e0; border: 1px solid #f0d78a; padding: 8px 10px; border-radius: 4px; }

dialog#dlg { border: 1px solid #ccc; border-radius: 6px; padding: 16px 18px; width: min(420px, 92vw); }
dialog#dlg h3 { margin: 0 0 10px; color: #0C302D; }
dialog#dlg label { display: block; margin: 8px 0 4px; color: #444; }
dialog#dlg select, dialog#dlg input, dialog#dlg textarea { width: 100%; padding: 6px; }
.dlg-botoes { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }

@media (max-width: 900px) {
  .corpo { display: block; }
  .painel { position: fixed; inset: 0; top: 0; height: 100vh; width: 100%; z-index: 40; }
  .topo { position: static; }
}

/* link de agendamento da vaga selecionada (15/09/2026) */
.link-vaga { flex-basis: 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding-top: 8px; border-top: 1px dashed #e2e2e2; }
.link-vaga label { color: #0C302D; font-weight: 600; }
.link-vaga input { flex: 1 1 380px; min-width: 220px; padding: 6px 8px; border: 1px solid #bbb; border-radius: 4px; }
.link-vaga input[aria-invalid="true"] { border-color: #B3261E; }
.link-vaga.destaque input { outline: 3px solid #f0b400; outline-offset: 1px; }
.link-msg { font-size: 13px; }

/* entrevista marcada pelo sistema (agenda "entrevistas") */
dialog#dlg { width: min(520px, 94vw); }
dialog#dlg textarea#convite-texto { min-height: 220px; }
.escolha { border: 1px solid #e2e2e2; border-radius: 4px; margin: 0 0 10px; padding: 6px 10px 10px; }
.escolha legend { color: #0C302D; font-weight: 600; padding: 0 4px; }
dialog#dlg .escolha label { display: flex; gap: 8px; align-items: flex-start; font-weight: 400; }
dialog#dlg .escolha input { width: auto; margin-top: 3px; }
.grade-ent { display: grid; grid-template-columns: 1fr 1fr; gap: 0 10px; }
.entrevista-marcada { background: #eef6f1; border-left: 3px solid #0C302D; padding: 8px 10px; margin: 0 0 10px; border-radius: 0 4px 4px 0; }

/* seleção e ações em lote (16/09/2026) */
.selecao th.col-sel, .selecao td.col-sel { width: 34px; padding-right: 0; text-align: center; }
.selecao td.col-sel input, .selecao th.col-sel input { width: 16px; height: 16px; accent-color: #0C302D; cursor: pointer; }
.barra-lote { position: sticky; top: 0; z-index: 4; display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  margin: 0 0 10px; padding: 10px 12px; background: #eef3f0; border: 1px solid #cfe0d7; border-radius: 4px; }
.barra-lote strong { margin-right: 4px; color: #0C302D; }
.ctl.arquivadas { gap: 6px; }
.ctl.arquivadas input { width: 16px; height: 16px; accent-color: #0C302D; }
dialog#dlg code { background: #f1efe9; padding: 0 4px; border-radius: 3px; }

/* volta por reinscrição (16/09/2026) */
.selecao .aviso.aviso-reinscricao { background: #eef6f1; border-color: #9cc7ae; }
.eventos li.evento-reinscricao { background: #eef6f1; border-left: 3px solid #0C302D; padding-left: 6px; color: #0C302D; }
