/* ==========================================================================
   Banco de Currículos — SINDUSCON-CE
   Folha de estilo única. Substitui integralmente o style.css laranja.
   Nenhuma cor, fonte, raio ou espaçamento deve ser escrito fora dos tokens
   declarados abaixo. Se faltar um valor, crie um token novo — não use literal.
   ========================================================================== */

:root {
  /* Marca */
  --bc-azul:          #0E4C63;  /* azul-petróleo institucional */
  --bc-azul-escuro:   #0A3D50;
  --bc-teal:          #12808A;  /* cor de ação primária */
  --bc-teal-hover:    #0E6E77;
  --bc-claro:         #4EC3E9;
  --bc-lima:          #A6CE39;  /* ação de destaque sobre fundo escuro */
  --bc-lima-hover:    #B7DB50;
  --bc-escuro:        #211F1E;  /* rodapé */

  /* Neutros */
  --bc-texto:         #1E2A2E;
  --bc-texto-suave:   #5C7075;
  --bc-texto-fraco:   #93A5A8;
  --bc-fundo:         #F2F6F5;
  --bc-branco:        #FFFFFF;
  --bc-borda:         #E1EAE8;
  --bc-borda-suave:   #EEF3F2;
  --bc-linha-tabela:  #F7FAF9;

  /* Campos de formulário */
  --bc-campo-fundo:   #FBFDFC;
  --bc-campo-borda:   #CBD9D7;
  --bc-campo-foco:    rgba(18, 128, 138, 0.15);

  /* Superfícies teal claras */
  --bc-teal-suave:    #F1F8F8;
  --bc-teal-borda:    #A9CFD2;
  --bc-teal-fundo:    #E7F2F1;
  --bc-teal-fundo-2:  #F7FBFA;

  /* Estados */
  --bc-erro:          #C0392B;
  --bc-ok-texto:      #3D5710;
  --bc-ok-fundo:      #EFF7DC;
  --bc-aviso-texto:   #6A4E0F;
  --bc-aviso-fundo:   #FDF6E7;
  --bc-aviso-borda:   #E8C86A;
  --bc-sucesso:       #4C8C2B;  /* botão de finalizar cadastro */
  --bc-neutro-texto:  #41545A;
  --bc-neutro-fundo:  #EEF3F2;

  /* Tipografia */
  --bc-fonte-titulo:  'Archivo', system-ui, sans-serif;
  --bc-fonte-texto:   'Barlow', system-ui, sans-serif;
  --bc-fonte-rotulo:  'Barlow Condensed', system-ui, sans-serif;

  /* Raios */
  --bc-raio-sm:  9px;
  --bc-raio-md:  10px;
  --bc-raio-lg:  14px;
  --bc-raio-xl:  16px;
  --bc-raio-2xl: 20px;
  --bc-raio-pill: 999px;

  /* Espaçamento e medidas */
  --bc-container: 1200px;
  --bc-container-largo: 1240px;
  --bc-container-form: 940px;
  --bc-container-texto: 860px;
  --bc-gutter: 28px;

  /* Sombras */
  --bc-sombra-btn: 0 2px 0 var(--bc-azul);
  --bc-sombra-modal: 0 20px 60px rgba(14, 76, 99, 0.25);
}

/* ==========================================================================
   Base
   ========================================================================== */

*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--bc-fundo);
  color: var(--bc-texto);
  font-family: var(--bc-fonte-texto);
  font-size: 16px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

h1, h2, h3, h4 {
  font-family: var(--bc-fonte-titulo);
  letter-spacing: -0.03em;
  margin: 0;
  text-wrap: pretty;
}

p { margin: 0; text-wrap: pretty; }

a { color: var(--bc-teal); text-decoration: none; }
a:hover { color: var(--bc-azul); }

img { max-width: 100%; display: block; }

input, select, textarea, button { font-family: inherit; }

/* Utilitários mínimos ------------------------------------------------------ */

.bc-container { max-width: var(--bc-container); margin: 0 auto; padding-left: var(--bc-gutter); padding-right: var(--bc-gutter); }
.bc-container--largo { max-width: var(--bc-container-largo); }
.bc-container--form  { max-width: var(--bc-container-form); }
.bc-container--texto { max-width: var(--bc-container-texto); }

.bc-main { flex: 1; }
.bc-obrigatorio { color: var(--bc-erro); }
.bc-ajuda { font-size: 13px; color: var(--bc-texto-suave); }
.bc-ajuda--teal { font-size: 13px; font-weight: 600; color: var(--bc-teal); }

.bc-rotulo-secao {
  font-family: var(--bc-fonte-rotulo);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--bc-teal);
}

.bc-divisor { display: flex; align-items: center; gap: 12px; }
.bc-divisor::after { content: ''; flex: 1; height: 1px; background: var(--bc-borda); }

/* ==========================================================================
   Header
   ========================================================================== */

.bc-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: var(--bc-branco);
  border-bottom: 1px solid var(--bc-borda);
}

.bc-header__inner {
  max-width: var(--bc-container);
  margin: 0 auto;
  padding: 13px var(--bc-gutter);
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
}

.bc-header__logo img { height: 36px; width: auto; }
.bc-header__sep { width: 1px; height: 32px; background: var(--bc-borda); }

.bc-header__marca { display: flex; flex-direction: column; margin-right: auto; }
.bc-header__titulo {
  font-family: var(--bc-fonte-titulo);
  font-weight: 800;
  font-size: 16.5px;
  letter-spacing: -0.02em;
  color: var(--bc-azul);
  line-height: 1.15;
}
.bc-header__sub { font-size: 12.5px; color: var(--bc-texto-suave); }

.bc-header__nav { display: flex; align-items: center; gap: 6px; }

/* ==========================================================================
   Botões
   ========================================================================== */

.bc-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--bc-fonte-titulo);
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  padding: 15px 24px;
  border: 0;
  border-radius: var(--bc-raio-md);
  cursor: pointer;
  text-align: center;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.bc-btn--primario { background: var(--bc-teal); color: var(--bc-branco); box-shadow: var(--bc-sombra-btn); }
.bc-btn--primario:hover { background: var(--bc-teal-hover); color: var(--bc-branco); }

.bc-btn--destaque { background: var(--bc-lima); color: var(--bc-azul); font-weight: 800; font-size: 18px; padding: 18px 28px; border-radius: 12px; }
.bc-btn--destaque:hover { background: var(--bc-lima-hover); color: var(--bc-azul); }

.bc-btn--sucesso { background: var(--bc-sucesso); color: var(--bc-branco); }
.bc-btn--sucesso:hover { filter: brightness(0.93); color: var(--bc-branco); }

.bc-btn--contorno { background: transparent; color: var(--bc-texto-suave); border: 1.5px solid var(--bc-campo-borda); }
.bc-btn--contorno:hover { border-color: var(--bc-teal); color: var(--bc-teal); }

.bc-btn--claro { background: var(--bc-branco); color: var(--bc-azul); }
.bc-btn--claro:hover { background: var(--bc-teal-fundo); color: var(--bc-azul); }

/* sobre fundo escuro */
.bc-btn--fantasma { background: rgba(255,255,255,0.12); color: var(--bc-branco); border: 1px solid rgba(255,255,255,0.45); font-size: 18px; padding: 18px 26px; border-radius: 12px; }
.bc-btn--fantasma:hover { background: rgba(255,255,255,0.22); color: var(--bc-branco); }

.bc-btn--fantasma-sm { background: transparent; color: var(--bc-branco); border: 1px solid rgba(255,255,255,0.4); font-size: 15px; padding: 11px 20px; border-radius: var(--bc-raio-sm); }
.bc-btn--fantasma-sm:hover { background: rgba(255,255,255,0.14); color: var(--bc-branco); }

/* link em forma de botão no header */
.bc-btn--nav { font-family: var(--bc-fonte-texto); font-weight: 600; font-size: 15px; color: var(--bc-texto); background: transparent; padding: 10px 13px; border-radius: 8px; }
.bc-btn--nav:hover { background: var(--bc-fundo); color: var(--bc-teal); }

.bc-btn--acao-tabela { font-size: 13.5px; padding: 9px 15px; border-radius: var(--bc-raio-sm); background: var(--bc-teal-suave); color: var(--bc-teal); border: 1.5px solid var(--bc-teal-borda); box-shadow: none; }
.bc-btn--acao-tabela:hover { background: var(--bc-teal); color: var(--bc-branco); }

.bc-btn--bloco { width: 100%; }
.bc-btn--voltar { background: transparent; border: 0; padding: 0; font-family: var(--bc-fonte-texto); font-weight: 600; font-size: 15px; color: var(--bc-texto-suave); }
.bc-btn--voltar:hover { color: var(--bc-teal); }

/* ==========================================================================
   Cards
   ========================================================================== */

.bc-card {
  background: var(--bc-branco);
  border: 1px solid var(--bc-borda);
  border-radius: var(--bc-raio-xl);
  padding: 30px;
}
.bc-card--form { border-radius: 18px; padding: 32px; }
.bc-card--topo-lima { border-top: 4px solid var(--bc-lima); }
.bc-card--topo-teal { border-top: 4px solid var(--bc-teal); }
.bc-card--azul { background: var(--bc-azul); border: 0; color: var(--bc-branco); }
.bc-card--azul h3 { color: var(--bc-branco); }
.bc-card__titulo { font-weight: 800; font-size: 23px; color: var(--bc-azul); margin-bottom: 16px; }

/* ==========================================================================
   Listas de benefícios
   ========================================================================== */

.bc-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 13px; }
.bc-lista li { display: flex; gap: 11px; align-items: flex-start; font-size: 16.5px; line-height: 1.45; }
.bc-lista li::before { content: '✓'; font-weight: 700; color: var(--bc-lima); }
.bc-lista--teal li::before { color: var(--bc-teal); }
.bc-lista--seta li::before { content: '→'; }
.bc-lista--claro li { color: rgba(255,255,255,0.9); }
.bc-lista--claro li::before { color: var(--bc-lima); }

/* ==========================================================================
   Hero (home)
   ========================================================================== */

.bc-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(115deg, var(--bc-azul) 0%, var(--bc-teal) 58%, var(--bc-claro) 135%);
}
.bc-hero::before,
.bc-hero::after { content: ''; position: absolute; border-radius: 50%; pointer-events: none; }
.bc-hero::before { right: -140px; top: -100px; width: 520px; height: 520px; background: rgba(166,206,57,0.16); }
.bc-hero::after  { left: -180px; bottom: -240px; width: 480px; height: 480px; background: rgba(78,195,233,0.14); }

.bc-hero__inner {
  position: relative;
  max-width: var(--bc-container);
  margin: 0 auto;
  padding: 72px var(--bc-gutter) 84px;
  display: grid;
  grid-template-columns: 1.12fr 0.88fr;
  gap: 52px;
  align-items: center;
}

.bc-selo {
  display: inline-block;
  font-family: var(--bc-fonte-titulo);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bc-lima);
  border: 1px solid rgba(166,206,57,0.5);
  border-radius: var(--bc-raio-pill);
  padding: 7px 15px;
}

.bc-hero__logo { width: 100%; max-width: 380px; margin-top: 26px; }
.bc-hero__titulo { font-weight: 800; font-size: 38px; line-height: 1.1; color: var(--bc-branco); margin-top: 22px; }
.bc-hero__texto { font-size: 19.5px; line-height: 1.5; color: rgba(255,255,255,0.87); margin-top: 14px; max-width: 30em; }
.bc-hero__acoes { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 32px; }

/* Contadores ---------------------------------------------------------------- */

.bc-contadores { display: flex; flex-direction: column; gap: 13px; }
.bc-contador {
  border-radius: var(--bc-raio-xl);
  padding: 24px 26px;
  display: flex;
  align-items: baseline;
  gap: 15px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.28);
}
.bc-contador--solido { background: var(--bc-branco); border: 0; }
.bc-contador__valor { font-family: var(--bc-fonte-titulo); font-weight: 800; font-size: 48px; line-height: 1; letter-spacing: -0.03em; }
.bc-contador__valor--teal  { color: var(--bc-teal); }
.bc-contador__valor--lima  { color: var(--bc-lima); }
.bc-contador__valor--claro { color: var(--bc-claro); }
.bc-contador__rotulo { font-size: 15.5px; font-weight: 600; line-height: 1.3; color: var(--bc-branco); }
.bc-contador--solido .bc-contador__rotulo { color: var(--bc-texto-suave); }
.bc-contador__rotulo small { display: block; font-weight: 400; font-size: 14px; color: rgba(255,255,255,0.72); }
.bc-contador--solido .bc-contador__rotulo small { color: var(--bc-texto-suave); }

/* ==========================================================================
   Seções da home
   ========================================================================== */

.bc-secao { max-width: var(--bc-container); margin: 0 auto; padding: 68px var(--bc-gutter) 0; }
.bc-secao--fim { padding-bottom: 84px; }
.bc-secao__titulo { font-weight: 800; font-size: 33px; letter-spacing: -0.025em; color: var(--bc-azul); }
.bc-secao__cabecalho { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; flex-wrap: wrap; }

.bc-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 26px; }
.bc-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.bc-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 24px; }

.bc-passo__numero {
  font-family: var(--bc-fonte-titulo);
  font-weight: 800;
  font-size: 15px;
  color: var(--bc-branco);
  background: var(--bc-teal);
  width: 34px; height: 34px;
  border-radius: var(--bc-raio-md);
  display: flex; align-items: center; justify-content: center;
}
.bc-passo__titulo { font-weight: 700; font-size: 20px; margin: 16px 0 8px; }
.bc-passo__texto { font-size: 16px; line-height: 1.55; color: var(--bc-texto-suave); }

.bc-grupo-area { padding: 22px; }
.bc-grupo-area__itens { display: flex; flex-direction: column; gap: 9px; margin-top: 14px; }
.bc-grupo-area__itens span { font-size: 16.5px; font-weight: 500; }

/* ==========================================================================
   Formulários
   ========================================================================== */

.bc-form__titulo { font-weight: 700; font-size: 22px; color: var(--bc-azul); margin-bottom: 20px; }

.bc-campo { display: flex; flex-direction: column; gap: 6px; }
.bc-campo__rotulo { font-size: 14.5px; font-weight: 600; color: var(--bc-texto); }

.bc-input, .bc-select, .bc-textarea {
  font-size: 16.5px;
  padding: 13px 15px;
  border: 1.5px solid var(--bc-campo-borda);
  border-radius: var(--bc-raio-sm);
  background: var(--bc-campo-fundo);
  color: var(--bc-texto);
  width: 100%;
}
.bc-input:focus, .bc-select:focus, .bc-textarea:focus {
  border-color: var(--bc-teal);
  outline: 3px solid var(--bc-campo-foco);
}
.bc-textarea { resize: vertical; }
.bc-input--grande { font-size: 19px; padding: 15px 16px; border-radius: var(--bc-raio-md); }

.bc-grid-form { display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px; }
.bc-col-1 { grid-column: span 1; }
.bc-col-2 { grid-column: span 2; }
.bc-col-3 { grid-column: span 3; }
.bc-col-4 { grid-column: span 4; }
.bc-col-6 { grid-column: span 6; }

.bc-check {
  display: flex;
  gap: 13px;
  align-items: center;
  font-size: 16.5px;
  cursor: pointer;
}
.bc-check input[type="checkbox"] { width: 22px; height: 22px; accent-color: var(--bc-teal); flex-shrink: 0; }
.bc-check--caixa { background: var(--bc-teal-fundo-2); border: 1.5px solid var(--bc-borda); border-radius: var(--bc-raio-md); padding: 16px 18px; }
.bc-check--topo { align-items: flex-start; line-height: 1.5; font-size: 16px; }
.bc-check--topo input[type="checkbox"] { margin-top: 2px; }

/* Upload ------------------------------------------------------------------- */

.bc-upload {
  border: 1.5px dashed var(--bc-teal-borda);
  border-radius: 12px;
  padding: 20px;
  background: var(--bc-teal-fundo-2);
}
.bc-upload strong { display: block; font-family: var(--bc-fonte-titulo); font-weight: 700; font-size: 16px; color: var(--bc-azul); }
.bc-upload span { font-size: 14px; color: var(--bc-texto-suave); }

/* Chips de área ------------------------------------------------------------ */

.bc-chips { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 12px; }
.bc-chip {
  font-family: var(--bc-fonte-titulo);
  font-weight: 700;
  font-size: 14.5px;
  color: var(--bc-teal);
  background: var(--bc-teal-suave);
  border: 1.5px solid var(--bc-teal-borda);
  border-radius: var(--bc-raio-pill);
  padding: 10px 18px;
  cursor: pointer;
}
.bc-chip:hover { border-color: var(--bc-teal); }
.bc-chip.is-ativo, .bc-chip--ativo { background: var(--bc-teal); border-color: var(--bc-teal); color: var(--bc-branco); }

/* Habilidades -------------------------------------------------------------- */

.bc-tags {
  display: flex; flex-wrap: wrap; gap: 8px;
  margin-top: 10px; min-height: 46px; padding: 10px;
  border: 1.5px dashed var(--bc-campo-borda);
  border-radius: var(--bc-raio-sm);
}
.bc-tag {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 14.5px; font-weight: 600;
  color: var(--bc-branco); background: var(--bc-teal);
  border-radius: var(--bc-raio-pill); padding: 7px 14px;
}
.bc-tag button { background: none; border: 0; color: inherit; opacity: .7; cursor: pointer; padding: 0; }

/* Segmentado (tipo de vaga) ------------------------------------------------ */

.bc-segmentado { display: flex; border: 1.5px solid var(--bc-campo-borda); border-radius: var(--bc-raio-md); overflow: hidden; }
.bc-segmentado button {
  flex: 1;
  font-family: var(--bc-fonte-titulo);
  font-weight: 700;
  font-size: 15px;
  color: var(--bc-texto-suave);
  background: var(--bc-branco);
  border: 0;
  padding: 13px 10px;
  cursor: pointer;
}
.bc-segmentado button.is-ativo { background: var(--bc-teal); color: var(--bc-branco); }

/* Etapas ------------------------------------------------------------------- */

.bc-etapas { display: flex; gap: 10px; margin-bottom: 24px; }
.bc-etapa { flex: 1; display: flex; flex-direction: column; gap: 8px; }
.bc-etapa__barra { height: 6px; border-radius: var(--bc-raio-pill); background: #DCE6E4; }
.bc-etapa.is-feita .bc-etapa__barra { background: var(--bc-teal); }
.bc-etapa__rotulo { font-family: var(--bc-fonte-titulo); font-size: 14px; font-weight: 700; color: var(--bc-texto-fraco); }
.bc-etapa.is-feita .bc-etapa__rotulo { color: var(--bc-azul); }

.bc-form__acoes {
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--bc-borda);
}

/* ==========================================================================
   Telas de página inteira (sucesso, bloqueio)
   ========================================================================== */

.bc-centralizado { flex: 1; display: flex; align-items: center; justify-content: center; padding: 72px var(--bc-gutter); }
.bc-selo-icone {
  width: 84px; height: 84px; margin: 0 auto;
  border-radius: 24px;
  display: flex; align-items: center; justify-content: center;
}
.bc-selo-icone--lima { background: var(--bc-lima); }
.bc-selo-icone--azul { width: 78px; height: 78px; border-radius: 22px; background: var(--bc-azul); }

.bc-alerta {
  border-radius: var(--bc-raio-md);
  padding: 14px 16px;
  font-size: 15.5px;
  line-height: 1.5;
}
.bc-alerta--aviso { background: var(--bc-aviso-fundo); border: 1px solid var(--bc-aviso-borda); color: var(--bc-aviso-texto); }

.bc-painel-suave { background: var(--bc-teal-fundo-2); border-radius: 12px; padding: 20px; }

/* ==========================================================================
   Acesso da empresa (duas colunas)
   ========================================================================== */

.bc-split { flex: 1; display: grid; grid-template-columns: 1fr 1fr; }
.bc-split__lado-escuro { background: var(--bc-azul); padding: 68px 52px; display: flex; flex-direction: column; justify-content: center; }
.bc-split__lado-claro  { display: flex; align-items: center; justify-content: center; padding: 68px 36px; }
.bc-split__caixa { width: 100%; max-width: 430px; }

.bc-rotulo-claro {
  font-family: var(--bc-fonte-titulo);
  font-weight: 800; font-size: 12px;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--bc-claro);
}
.bc-split__titulo { font-weight: 800; font-size: 42px; line-height: 1.06; color: var(--bc-branco); margin: 15px 0 13px; }
.bc-split__texto { font-size: 18px; line-height: 1.55; color: rgba(255,255,255,0.8); max-width: 24em; }

.bc-confirmacao {
  display: flex; align-items: center; gap: 10px;
  background: var(--bc-teal-suave);
  border: 1px solid var(--bc-teal-borda);
  border-radius: var(--bc-raio-md);
  padding: 13px 15px;
  margin-top: 14px;
}
.bc-confirmacao strong { font-size: 14px; color: var(--bc-teal); }

/* ==========================================================================
   Termo de responsabilidade
   ========================================================================== */

.bc-termo { max-height: 420px; overflow-y: auto; padding-right: 14px; display: flex; flex-direction: column; gap: 24px; }
.bc-termo__secao { padding-bottom: 20px; border-bottom: 1px solid var(--bc-borda-suave); }
.bc-termo__secao:last-child { border-bottom: 0; padding-bottom: 0; }
.bc-termo__titulo { display: flex; align-items: center; gap: 11px; font-weight: 700; font-size: 17px; color: var(--bc-azul); margin-bottom: 11px; }
.bc-termo__numero {
  width: 26px; height: 26px; flex-shrink: 0;
  border-radius: 8px;
  background: var(--bc-teal); color: var(--bc-branco);
  font-size: 13.5px;
  display: flex; align-items: center; justify-content: center;
}
.bc-termo__texto { font-size: 16px; line-height: 1.65; }
.bc-termo__itens { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.bc-termo__itens li { display: flex; gap: 10px; font-size: 15.5px; line-height: 1.55; color: var(--bc-texto-suave); }
.bc-termo__itens li::before { content: '→'; color: var(--bc-teal); font-weight: 700; }

.bc-aceite {
  display: flex; gap: 13px; align-items: flex-start;
  margin-top: 24px;
  background: var(--bc-teal-fundo-2);
  border: 1.5px solid var(--bc-teal-borda);
  border-radius: 12px;
  padding: 18px;
  cursor: pointer;
}
.bc-aceite input[type="checkbox"] { width: 24px; height: 24px; accent-color: var(--bc-teal); margin-top: 1px; flex-shrink: 0; }
.bc-aceite span { font-size: 16.5px; font-weight: 600; color: var(--bc-azul); line-height: 1.45; }

/* ==========================================================================
   Busca de candidatos
   ========================================================================== */

.bc-barra-empresa { background: var(--bc-azul); padding: 22px 0; }
.bc-barra-empresa__inner {
  max-width: var(--bc-container-largo); margin: 0 auto; padding: 0 var(--bc-gutter);
  display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
}
.bc-barra-empresa h1 { font-weight: 700; font-size: 23px; color: var(--bc-branco); }
.bc-barra-empresa span { font-size: 14.5px; color: rgba(255,255,255,0.65); }

.bc-busca {
  max-width: var(--bc-container-largo); margin: 0 auto;
  padding: 26px var(--bc-gutter) 92px;
  display: grid; grid-template-columns: 300px 1fr; gap: 24px; align-items: start;
}

.bc-filtros { background: var(--bc-branco); border: 1px solid var(--bc-borda); border-radius: var(--bc-raio-xl); padding: 22px; position: sticky; top: 84px; }
.bc-filtros__cabecalho { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.bc-filtros__titulo { font-family: var(--bc-fonte-titulo); font-weight: 800; font-size: 17px; color: var(--bc-azul); }
.bc-filtros__limpar { font-size: 14px; font-weight: 600; color: var(--bc-teal); background: none; border: 0; padding: 0; cursor: pointer; }
.bc-filtros__corpo { display: flex; flex-direction: column; gap: 20px; margin-top: 18px; }
.bc-filtros__rotulo { font-size: 13.5px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--bc-texto-suave); }
.bc-filtros .bc-input, .bc-filtros .bc-select { font-size: 15.5px; padding: 11px 12px; }
.bc-filtros__grupo { display: flex; flex-direction: column; gap: 8px; }
.bc-filtros__separador { padding-top: 10px; border-top: 1px solid var(--bc-borda-suave); display: flex; flex-direction: column; gap: 9px; }
.bc-filtros .bc-check { font-size: 15.5px; gap: 10px; }
.bc-filtros .bc-check input[type="checkbox"] { width: 19px; height: 19px; }

.bc-resultados__cabecalho { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 16px; }
.bc-resultados__titulo { font-weight: 800; font-size: 22px; color: var(--bc-azul); }
.bc-resultados__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }

.bc-candidato {
  background: var(--bc-branco);
  border: 1.5px solid var(--bc-borda);
  border-radius: var(--bc-raio-xl);
  padding: 20px;
  display: flex; gap: 16px;
}
.bc-candidato:hover { border-color: var(--bc-teal); }
.bc-avatar {
  flex-shrink: 0; width: 52px; height: 52px; border-radius: 50%;
  background: var(--bc-teal-fundo); color: var(--bc-azul);
  font-family: var(--bc-fonte-titulo); font-weight: 800; font-size: 17px;
  display: flex; align-items: center; justify-content: center;
}
.bc-avatar--grande { width: 68px; height: 68px; font-size: 22px; }
.bc-candidato__corpo { display: flex; flex-direction: column; gap: 7px; min-width: 0; flex: 1; }
.bc-candidato__nome { font-family: var(--bc-fonte-titulo); font-weight: 700; font-size: 18px; }
.bc-candidato__local { font-size: 14.5px; color: var(--bc-texto-suave); }
.bc-candidato__meta { font-size: 14.5px; color: var(--bc-texto-suave); }
.bc-candidato__badges { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 3px; }
.bc-candidato .bc-btn { margin-top: 8px; }

.bc-badge { font-size: 13px; font-weight: 700; border-radius: var(--bc-raio-pill); padding: 5px 11px; white-space: nowrap; }
.bc-badge--area   { background: var(--bc-teal); color: var(--bc-branco); }
.bc-badge--nivel  { background: var(--bc-neutro-fundo); color: var(--bc-neutro-texto); }
.bc-badge--neutro { background: var(--bc-fundo); color: var(--bc-texto-suave); font-weight: 600; }
.bc-badge--ok     { background: var(--bc-ok-fundo); color: var(--bc-ok-texto); }
.bc-badge--aviso  { background: var(--bc-aviso-fundo); color: var(--bc-aviso-texto); }

.bc-paginacao { display: flex; align-items: center; justify-content: center; gap: 7px; margin-top: 26px; }
.bc-paginacao a, .bc-paginacao span {
  font-family: var(--bc-fonte-titulo); font-weight: 700; font-size: 15px;
  color: var(--bc-texto-suave); background: var(--bc-branco);
  border: 1.5px solid var(--bc-borda); border-radius: var(--bc-raio-sm);
  min-width: 40px; text-align: center; padding: 9px 12px;
}
.bc-paginacao .is-atual { background: var(--bc-teal); border-color: var(--bc-teal); color: var(--bc-branco); }

/* Modal do currículo ------------------------------------------------------- */

.bc-modal {
  position: fixed; inset: 0; z-index: 80;
  background: rgba(14,76,99,0.55);
  display: flex; align-items: center; justify-content: center;
  padding: 32px;
}
.bc-modal__caixa {
  background: var(--bc-branco); border-radius: var(--bc-raio-2xl);
  width: 100%; max-width: 720px; max-height: 88vh; overflow-y: auto;
  box-shadow: var(--bc-sombra-modal);
}
.bc-modal__cabecalho {
  position: sticky; top: 0; background: var(--bc-branco);
  border-bottom: 1px solid var(--bc-borda);
  padding: 22px 28px;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.bc-modal__cabecalho h2 { font-weight: 800; font-size: 21px; color: var(--bc-azul); }
.bc-modal__fechar { font-size: 20px; color: var(--bc-texto-suave); background: none; border: 0; cursor: pointer; line-height: 1; }
.bc-modal__fechar:hover { color: var(--bc-teal); }
.bc-modal__corpo { padding: 28px; }
.bc-modal__topo { display: flex; align-items: center; gap: 18px; padding-bottom: 22px; border-bottom: 1px solid var(--bc-borda-suave); }
.bc-modal__topo h3 { font-weight: 800; font-size: 25px; }
.bc-modal__topo span { font-size: 16px; color: var(--bc-teal); font-weight: 600; }

.bc-dados { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 22px; }
.bc-dado__rotulo { font-size: 13px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--bc-texto-suave); display: block; }
.bc-dado__valor { font-size: 16.5px; font-weight: 500; }

.bc-bloco-texto { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--bc-borda-suave); }
.bc-pilulas { display: flex; flex-wrap: wrap; gap: 8px; }
.bc-pilula { font-size: 14px; font-weight: 600; color: var(--bc-azul); background: var(--bc-teal-fundo); border-radius: var(--bc-raio-pill); padding: 7px 14px; }

/* ==========================================================================
   Painel administrativo
   ========================================================================== */

.bc-admin { flex: 1; display: grid; grid-template-columns: 244px 1fr; }
.bc-admin__lateral { background: var(--bc-azul); padding: 24px 18px; display: flex; flex-direction: column; gap: 24px; }
.bc-admin__logo { background: var(--bc-branco); border-radius: var(--bc-raio-md); padding: 10px 12px; }
.bc-admin__nav { display: flex; flex-direction: column; gap: 4px; }
.bc-admin__nav a {
  font-family: var(--bc-fonte-titulo); font-size: 15px; font-weight: 700;
  color: rgba(255,255,255,0.78);
  padding: 12px 14px; border-radius: var(--bc-raio-sm);
}
.bc-admin__nav a:hover { background: rgba(255,255,255,0.12); color: var(--bc-branco); }
.bc-admin__nav a.is-ativo { background: var(--bc-branco); color: var(--bc-azul); }
.bc-admin__sair { margin-top: auto; font-size: 14.5px; font-weight: 600; color: rgba(255,255,255,0.7); background: transparent; border: 1px solid rgba(255,255,255,0.25); padding: 11px; border-radius: var(--bc-raio-sm); cursor: pointer; }
.bc-admin__sair:hover { color: var(--bc-branco); border-color: var(--bc-branco); }

.bc-admin__conteudo { padding: 32px 36px 84px; }
.bc-admin__cabecalho { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.bc-admin__titulo { font-weight: 800; font-size: 31px; color: var(--bc-azul); margin-bottom: 3px; }
.bc-admin__sub { font-size: 15.5px; color: var(--bc-texto-suave); }

.bc-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 24px; }
.bc-kpis--3 { grid-template-columns: repeat(3, 1fr); }
.bc-kpi { background: var(--bc-branco); border: 1px solid var(--bc-borda); border-left: 4px solid var(--bc-teal); border-radius: var(--bc-raio-lg); padding: 20px; }
.bc-kpi--lima  { border-left-color: var(--bc-lima); }
.bc-kpi--claro { border-left-color: var(--bc-claro); }
.bc-kpi--azul  { border-left-color: var(--bc-azul); }
.bc-kpi--aviso { border-left-color: var(--bc-aviso-borda); }
.bc-kpi__rotulo { font-size: 13px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: var(--bc-texto-suave); }
.bc-kpi__valor { display: block; font-family: var(--bc-fonte-titulo); font-weight: 800; font-size: 33px; color: var(--bc-azul); margin-top: 7px; letter-spacing: -0.03em; }
.bc-kpi__nota { font-size: 14px; color: var(--bc-teal); font-weight: 600; }

.bc-quadro { background: var(--bc-branco); border: 1px solid var(--bc-borda); border-radius: var(--bc-raio-xl); overflow: hidden; }
.bc-quadro__cabecalho { padding: 18px 22px; border-bottom: 1px solid var(--bc-borda); display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.bc-quadro__titulo { font-weight: 700; font-size: 18px; }
.bc-quadro__corpo { padding: 18px 22px; display: flex; flex-direction: column; gap: 14px; }

.bc-barra-dado__topo { display: flex; justify-content: space-between; gap: 12px; font-size: 15.5px; margin-bottom: 6px; }
.bc-barra-dado__topo strong { font-family: var(--bc-fonte-titulo); font-weight: 700; color: var(--bc-azul); }
.bc-barra-dado__trilha { height: 8px; border-radius: var(--bc-raio-pill); background: var(--bc-borda-suave); overflow: hidden; }
.bc-barra-dado__preenchido { height: 100%; border-radius: var(--bc-raio-pill); background: var(--bc-teal); }

/* Tabelas em grid ---------------------------------------------------------- */

.bc-tabela__cabecalho,
.bc-tabela__linha { display: grid; padding: 11px 22px; align-items: center; }
.bc-tabela__cabecalho {
  background: var(--bc-linha-tabela);
  font-size: 12.5px; font-weight: 700;
  letter-spacing: 0.05em; text-transform: uppercase;
  color: var(--bc-texto-suave);
}
.bc-tabela__linha { padding: 13px 22px; border-top: 1px solid var(--bc-borda-suave); font-size: 15px; }
.bc-tabela__linha strong { font-weight: 600; }
.bc-tabela__linha span { color: var(--bc-texto-suave); font-size: 14.5px; }
.bc-tabela__linha .bc-badge { justify-self: start; font-size: 12.5px; padding: 4px 10px; }
.bc-num { font-variant-numeric: tabular-nums; }

.bc-cols-cadastros { grid-template-columns: 1.4fr 1.1fr 1fr 0.7fr; }
.bc-cols-acessos   { grid-template-columns: 1fr 1.6fr 0.9fr 1fr 0.8fr; }
.bc-cols-relatorio { grid-template-columns: 1fr 1.6fr 0.8fr 0.9fr; }

.bc-admin__duplo { display: grid; grid-template-columns: 1fr 1.25fr; gap: 16px; margin-top: 20px; align-items: start; }

/* ==========================================================================
   Rodapé
   ========================================================================== */

.bc-footer { margin-top: auto; background: var(--bc-escuro); color: rgba(255,255,255,0.7); }
.bc-footer__inner {
  max-width: var(--bc-container); margin: 0 auto;
  padding: 42px var(--bc-gutter);
  display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 30px; align-items: start;
}
.bc-footer__logo { background: var(--bc-branco); border-radius: var(--bc-raio-md); padding: 10px 14px; display: inline-block; }
.bc-footer__logo img { height: 34px; width: auto; display: block; }
.bc-footer__marca { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; }
.bc-footer__marcas { display: flex; align-items: center; justify-content: center; gap: 24px; flex-wrap: wrap; }
.bc-footer__texto { font-size: 15px; line-height: 1.6; margin: 0; max-width: 34em; }
.bc-footer__marca-2 { height: 56px; width: auto; margin: 0; }
.bc-footer__coluna { display: flex; flex-direction: column; gap: 10px; }
.bc-footer__rotulo {
  font-family: var(--bc-fonte-rotulo); font-weight: 700; font-size: 15px;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--bc-branco);
}
.bc-footer__coluna a, .bc-footer__coluna span { font-size: 15.5px; color: rgba(255,255,255,0.7); }
.bc-footer__coluna a:hover { color: #C9E265; }
.bc-footer__base {
  border-top: 1px solid rgba(255,255,255,0.12);
  padding: 15px var(--bc-gutter);
  text-align: center; font-size: 14px; color: rgba(255,255,255,0.5);
}
.bc-footer__base a { color: rgba(255,255,255,0.75); text-decoration: none; font-weight: 600; }
.bc-footer__base a:hover { color: #C9E265; }

/* ==========================================================================
   Responsivo
   ========================================================================== */

@media (max-width: 1024px) {
  .bc-hero__inner { grid-template-columns: 1fr; gap: 36px; padding-top: 52px; padding-bottom: 60px; }
  .bc-hero__titulo { font-size: 32px; }
  .bc-grid-3, .bc-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .bc-busca { grid-template-columns: 1fr; }
  .bc-filtros { position: static; }
  .bc-resultados__grid { grid-template-columns: 1fr; }
  .bc-split { grid-template-columns: 1fr; }
  .bc-split__lado-escuro { padding: 48px var(--bc-gutter); }
  .bc-admin { grid-template-columns: 1fr; }
  .bc-admin__lateral { flex-direction: row; align-items: center; flex-wrap: wrap; }
  .bc-admin__nav { flex-direction: row; }
  .bc-admin__sair { margin-top: 0; }
  .bc-admin__duplo { grid-template-columns: 1fr; }
  .bc-kpis, .bc-kpis--3 { grid-template-columns: repeat(2, 1fr); }
  .bc-footer__inner { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
  :root { --bc-gutter: 20px; }
  .bc-header__inner { gap: 14px; }
  .bc-header__nav { display: none; } /* oculta "Sou Empresa" / "Cadastrar currículo" no mobile */
  .bc-header__sep { display: none; }
  .bc-grid-2, .bc-grid-3, .bc-grid-4 { grid-template-columns: 1fr; }
  .bc-grid-form { grid-template-columns: repeat(2, 1fr); }
  .bc-col-3, .bc-col-4, .bc-col-6 { grid-column: span 2; }
  .bc-secao { padding-top: 48px; }
  .bc-secao__titulo { font-size: 27px; }
  .bc-split__titulo { font-size: 32px; }
  .bc-dados { grid-template-columns: 1fr; }
  .bc-etapas .bc-etapa__rotulo { font-size: 12.5px; }
  .bc-card, .bc-card--form { padding: 22px; }
  /* Tabelas viram cartões empilhados */
  .bc-tabela__cabecalho { display: none; }
  .bc-tabela__linha { grid-template-columns: 1fr !important; gap: 4px; padding: 16px 20px; }
}

@media (max-width: 560px) {
  .bc-grid-form { grid-template-columns: 1fr; }
  .bc-col-1, .bc-col-2, .bc-col-3, .bc-col-4, .bc-col-6 { grid-column: span 1; }
  .bc-hero__titulo { font-size: 27px; }
  .bc-contador__valor { font-size: 38px; }
  .bc-btn, .bc-btn--destaque, .bc-btn--fantasma { width: 100%; font-size: 16px; padding: 15px 20px; }
  .bc-footer__inner { grid-template-columns: 1fr; }
  .bc-modal { padding: 0; }
  .bc-modal__caixa { max-height: 100vh; border-radius: 0; }
}

/* Impressão --------------------------------------------------------------- */
@media print {
  .bc-header, .bc-footer, .bc-filtros, .bc-paginacao, .bc-btn { display: none; }
  body { background: var(--bc-branco); }
}
