/* ELEVCE Vox — camada visual profissional v2
   Mantém o HTML e a lógica existentes; apenas consolida o design do produto. */
:root{
  --app-bg:#F6F7F9;
  --app-surface:#FFFFFF;
  --app-surface-soft:#FAFAF8;
  --app-text:#17202B;
  --app-muted:#697386;
  --app-line:#E6E8EC;
  --app-primary:#E2793D;
  --app-primary-dark:#C65F27;
  --app-success:#397659;
  --app-danger:#C94A4A;
  --app-navy:#17202B;
  --app-shadow:0 18px 48px rgba(23,32,43,.08);
  --app-shadow-sm:0 8px 24px rgba(23,32,43,.06);
  --app-radius:18px;
  --app-radius-sm:12px;
}

html{ background:var(--app-bg); }
body{
  background:
    radial-gradient(circle at 8% 0%, rgba(226,121,61,.055), transparent 28rem),
    var(--app-bg) !important;
  color:var(--app-text) !important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.topo{
  min-height:68px;
  padding:0 32px !important;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  background:rgba(255,255,255,.92);
  border-bottom:1px solid var(--app-line);
  box-shadow:0 1px 0 rgba(23,32,43,.02);
  backdrop-filter:blur(14px);
  position:relative;
  z-index:20;
}
.marca{
  display:inline-flex;
  align-items:baseline;
  gap:5px;
  font-size:17px !important;
  letter-spacing:-.025em;
  color:var(--app-navy) !important;
}
.marca .vox{ color:var(--app-primary) !important; }

.painel{
  width:min(1120px, calc(100% - 40px));
  max-width:1120px !important;
  margin:0 auto !important;
  padding:38px 0 72px !important;
}
.centro{
  min-height:calc(100vh - 68px);
  padding:54px 20px 80px !important;
  align-items:flex-start;
}

.cartao{
  background:rgba(255,255,255,.98) !important;
  border:1px solid var(--app-line) !important;
  border-radius:var(--app-radius) !important;
  box-shadow:var(--app-shadow-sm);
}
.centro > .cartao{
  max-width:520px !important;
  padding:38px 38px !important;
}
.cartao h1,
.painel h1,
.painel-topo h1{
  color:var(--app-text);
  letter-spacing:-.035em;
}
.cartao h1{ font-size:27px !important; line-height:1.15; }
.painel > h1,
.painel-topo h1{ font-size:28px !important; line-height:1.15; }
.subtitulo,
.cartao p.subtitulo{
  color:var(--app-muted) !important;
  line-height:1.6 !important;
}

label{
  color:#364152;
  font-size:12.5px !important;
  letter-spacing:.005em;
}
input[type=text],
input[type=email],
input[type=password],
input[type=tel],
input[type=number],
input[type=url],
input[type=file],
select,
textarea{
  min-height:46px;
  border:1px solid #DDE1E7 !important;
  border-radius:11px !important;
  background:#FFF !important;
  color:var(--app-text) !important;
  box-shadow:0 1px 2px rgba(23,32,43,.025);
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
textarea{ min-height:112px; }
input:focus,
select:focus,
textarea:focus{
  outline:none !important;
  border-color:rgba(226,121,61,.9) !important;
  box-shadow:0 0 0 4px rgba(226,121,61,.11) !important;
}

.botao-primario,
.botao-primario-link,
.botao-comprar-credito{
  border-radius:11px !important;
  background:var(--app-primary) !important;
  box-shadow:0 8px 18px rgba(226,121,61,.18);
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease !important;
}
.botao-primario:hover,
.botao-primario-link:hover,
.botao-comprar-credito:hover{
  background:var(--app-primary-dark) !important;
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(226,121,61,.22);
  filter:none !important;
}
.botao-secundario,
.card-vaga .acoes a,
.botao-cancelar,
.botao-editar{
  border-radius:10px !important;
  border:1px solid #DDE1E7 !important;
  background:#FFF !important;
  color:#364152 !important;
  box-shadow:0 1px 2px rgba(23,32,43,.02);
  transition:border-color .16s ease, background .16s ease, transform .16s ease;
}
.botao-secundario:hover,
.card-vaga .acoes a:hover,
.botao-cancelar:hover,
.botao-editar:hover{
  background:#FAFAF8 !important;
  border-color:#C9CED6 !important;
  transform:translateY(-1px);
}

.painel-topo{
  align-items:flex-start !important;
  padding-bottom:22px;
  margin-bottom:24px !important;
  border-bottom:1px solid var(--app-line);
}
.painel-topo .acoes{ display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }

.card-saldo{
  min-height:132px;
  padding:26px 30px !important;
  border:none !important;
  border-radius:20px !important;
  background:
    radial-gradient(circle at 87% 0%, rgba(226,121,61,.24), transparent 18rem),
    linear-gradient(135deg,#17202B,#222D3B) !important;
  color:#FFF;
  box-shadow:0 16px 38px rgba(23,32,43,.14);
}
.card-saldo.saldo-zerado{
  background:linear-gradient(135deg,#3B2424,#5A3030) !important;
  border:none !important;
}
.card-saldo .rotulo-saldo,
.card-saldo .dica-saldo{ color:rgba(255,255,255,.68) !important; }
.card-saldo .valor-saldo{ color:#FFF; font-size:31px !important; letter-spacing:-.04em; }
.card-saldo .botao-comprar-credito{
  background:#FFF !important;
  color:var(--app-navy) !important;
  box-shadow:none;
  padding:12px 18px !important;
}
.card-saldo .botao-comprar-credito:hover{ background:#F5F6F7 !important; }

.lista-vagas{ gap:10px !important; }
.card-vaga{
  min-height:84px;
  padding:19px 20px !important;
  border:1px solid var(--app-line) !important;
  border-radius:15px !important;
  box-shadow:0 3px 12px rgba(23,32,43,.025);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.card-vaga:hover{
  transform:translateY(-1px);
  border-color:#D7DBE1 !important;
  box-shadow:0 10px 24px rgba(23,32,43,.055);
}
.card-vaga h3{ font-size:16.5px !important; letter-spacing:-.015em; }
.card-vaga .meta{ color:var(--app-muted) !important; }
.card-vaga code{
  padding:2px 6px;
  border-radius:6px;
  background:#F2F4F6;
  color:#4A5567;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}

.vazio{
  padding:56px 28px !important;
  border:1px dashed #CDD3DB !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.62);
}

/* Configuração de vaga / roteiro */
.painel > .cartao{
  padding:24px 26px !important;
  margin-bottom:16px;
}
.vaga-chip,
.tipo-chip{
  border-radius:999px !important;
  background:#FFF1E8 !important;
  color:#B95825 !important;
  border:1px solid #F5D7C4;
}
.abas-fonte,
.abas{
  background:#F1F3F5 !important;
  padding:4px !important;
  border-radius:11px !important;
}
.aba-fonte,
.aba{
  border-radius:8px !important;
  transition:background .16s ease, color .16s ease, box-shadow .16s ease;
}
.aba-fonte.ativa,
.aba.ativa,
.aba-fonte[aria-selected="true"],
.aba[aria-selected="true"]{
  background:#FFF !important;
  color:var(--app-text) !important;
  box-shadow:0 1px 4px rgba(23,32,43,.08) !important;
}
.opcao-modo{
  border-radius:13px !important;
  border-color:var(--app-line) !important;
  background:#FFF !important;
}
.opcao-modo:hover{ border-color:#C9CED6 !important; }
.link-publico{
  border-radius:11px !important;
  background:#F7F8FA !important;
  border:1px solid var(--app-line) !important;
}
.lista-perguntas{ gap:9px !important; }
.lista-perguntas li,
.item-pergunta{
  border-radius:13px !important;
  border-color:var(--app-line) !important;
  background:#FFF !important;
}
.numero-pergunta{
  background:#F3F4F6 !important;
  color:#596273 !important;
}
.form-pergunta{
  background:#FAFBFC !important;
  border:1px solid var(--app-line) !important;
  border-radius:15px !important;
}
.mensagem-erro{
  border:1px solid #F1CAC5 !important;
  background:#FFF4F2 !important;
  color:#9B3D32 !important;
  border-radius:11px !important;
}

/* Créditos */
.pacotes{ gap:14px !important; }
.pacote{
  border-radius:17px !important;
  border:1px solid var(--app-line) !important;
  background:#FFF !important;
  box-shadow:var(--app-shadow-sm);
}
.pacote.destaque{
  border-color:rgba(226,121,61,.55) !important;
  box-shadow:0 14px 32px rgba(226,121,61,.11) !important;
}
.selo-destaque{ background:#FFF1E8 !important; color:#B95825 !important; }

/* Login e cadastro */
.rodape-form{ color:var(--app-muted) !important; }
.rodape-form a{ color:var(--app-primary-dark) !important; }

@media (max-width:760px){
  .topo{ min-height:62px; padding:0 18px !important; }
  .painel{ width:min(100% - 28px,1120px); padding:26px 0 58px !important; }
  .centro{ padding:28px 14px 56px !important; }
  .centro > .cartao{ padding:28px 22px !important; }
  .painel-topo{ gap:14px; flex-direction:column; }
  .painel-topo .acoes{ width:100%; justify-content:flex-start; }
  .card-saldo{ align-items:flex-start !important; flex-direction:column; padding:23px !important; }
  .card-vaga{ align-items:flex-start !important; flex-direction:column; }
  .card-vaga .acoes{ width:100%; }
  .card-vaga .acoes a{ width:100%; text-align:center; }
}

/* ─────────────────────────────────────────────────────────────
   ELEVCE Vox v3 — dashboard com estrutura SaaS
   ───────────────────────────────────────────────────────────── */
.dashboard-page{ min-height:100vh; background:#F4F6F8 !important; }
.dashboard-topo{ position:sticky; top:0; z-index:50; }
.topo-conta{ display:flex; align-items:center; gap:8px; font-size:12px; color:var(--app-muted); }
.topo-conta-label{ padding:5px 8px; border-radius:7px; background:#F2F4F6; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.topo-conta strong{ color:#344054; font-weight:600; }
.dashboard-layout{ width:100%; min-height:calc(100vh - 68px); display:grid; grid-template-columns:238px minmax(0,1fr); }
.dashboard-sidebar{
  position:sticky; top:68px; height:calc(100vh - 68px); padding:26px 16px 18px;
  background:#FFF; border-right:1px solid var(--app-line); display:flex; flex-direction:column; justify-content:space-between;
}
.sidebar-grupo{ display:grid; gap:5px; }
.sidebar-titulo{ padding:0 10px 10px; color:#98A2B3; font-size:9.5px; font-weight:700; letter-spacing:.10em; text-transform:uppercase; }
.sidebar-link{
  min-height:42px; padding:0 11px; border-radius:10px; display:flex; align-items:center; gap:10px;
  color:#667085; text-decoration:none; font-size:13px; font-weight:550; transition:.16s ease;
}
.sidebar-link:hover{ color:#344054; background:#F7F8FA; }
.sidebar-link.ativo{ background:#FFF2E9; color:#B85827; font-weight:650; }
.sidebar-icone{ width:22px; height:22px; display:grid; place-items:center; font-size:17px; line-height:1; }
.sidebar-rodape{ display:grid; gap:8px; }
.sidebar-seguranca{ display:flex; gap:9px; align-items:flex-start; padding:12px; border:1px solid #E9ECEF; border-radius:12px; background:#FAFBFC; }
.sidebar-seguranca-ponto{ width:8px; height:8px; margin-top:4px; border-radius:50%; background:#53A779; box-shadow:0 0 0 4px rgba(83,167,121,.10); }
.sidebar-seguranca strong{ display:block; color:#475467; font-size:11px; font-weight:650; }
.sidebar-seguranca small{ display:block; margin-top:2px; color:#98A2B3; font-size:9.5px; }
.dashboard-main{ min-width:0; padding:42px clamp(28px,4vw,60px) 72px; }
.dashboard-cabecalho{ max-width:1260px; margin:0 auto 28px; display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
.dashboard-cabecalho h1{ margin:6px 0 8px; font-family:'Space Grotesk',sans-serif; font-size:32px; line-height:1.08; letter-spacing:-.045em; }
.dashboard-cabecalho p{ margin:0; color:#667085; font-size:14px; }
.eyebrow-app{ color:#98A2B3; font-size:9.5px; font-weight:750; letter-spacing:.12em; }
.dashboard-cta{ width:auto !important; min-width:164px; margin:0 !important; padding:12px 18px !important; text-align:center; text-decoration:none; font-size:13px; }
.dashboard-metricas{ max-width:1260px; margin:0 auto 30px; display:grid; grid-template-columns:minmax(280px,1.6fr) repeat(2,minmax(180px,.7fr)); gap:14px; }
.metrica{ min-height:154px; padding:20px 21px; border:1px solid var(--app-line); border-radius:16px; background:#FFF; box-shadow:0 5px 16px rgba(16,24,40,.035); }
.metrica-topo{ display:flex; align-items:center; justify-content:space-between; gap:10px; color:#667085; font-size:11.5px; font-weight:600; }
.metrica strong{ display:block; margin-top:22px; color:#182230; font:700 31px/1 'Space Grotesk',sans-serif; letter-spacing:-.045em; }
.metrica small{ display:block; margin-top:8px; color:#98A2B3; font-size:10.5px; }
.metrica a{ display:inline-block; margin-top:15px; color:#C65F27; font-size:10.5px; font-weight:650; text-decoration:none; }
.metrica-destaque{ color:#FFF; border:none; background:linear-gradient(135deg,#17202B 0%,#263242 100%); box-shadow:0 14px 32px rgba(23,32,43,.13); }
.metrica-destaque .metrica-topo,.metrica-destaque small{ color:rgba(255,255,255,.62); }
.metrica-destaque strong{ color:#FFF; }
.metrica-destaque a{ color:#F2A276; }
.metrica-destaque.saldo-alerta{ background:linear-gradient(135deg,#382527,#523032); }
.metrica-tag,.metrica-mini{ padding:4px 7px; border-radius:999px; font-size:8px; font-weight:750; letter-spacing:.08em; }
.metrica-tag{ color:#F4B18D; background:rgba(226,121,61,.14); }
.metrica-mini{ color:#98A2B3; background:#F4F5F6; }
.dashboard-secao{ max-width:1260px; margin:0 auto; }
.secao-cabecalho{ display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:12px; }
.secao-cabecalho h2{ margin:5px 0 0; font:650 19px/1.2 'Space Grotesk',sans-serif; letter-spacing:-.025em; }
.secao-contador{ color:#98A2B3; font-size:10.5px; }
.tabela-vagas-pro{ overflow:hidden; border:1px solid var(--app-line); border-radius:16px; background:#FFF; box-shadow:0 5px 18px rgba(16,24,40,.035); }
.tabela-vagas-head,.vaga-row{ display:grid; grid-template-columns:minmax(260px,1.6fr) minmax(120px,.55fr) 110px 190px; align-items:center; gap:18px; }
.tabela-vagas-head{ min-height:41px; padding:0 18px; border-bottom:1px solid var(--app-line); background:#FAFBFC; color:#98A2B3; font-size:9px; font-weight:750; letter-spacing:.07em; text-transform:uppercase; }
.vaga-row{ min-height:76px; padding:12px 18px; border-bottom:1px solid #EEF0F2; transition:background .14s ease; }
.vaga-row:last-child{ border-bottom:0; }
.vaga-row:hover{ background:#FCFCFD; }
.vaga-identidade{ display:flex; align-items:center; gap:12px; min-width:0; }
.vaga-avatar{ flex:0 0 auto; width:38px; height:38px; display:grid; place-items:center; border-radius:11px; background:#FFF1E8; color:#B95825; font:700 14px/1 'Space Grotesk',sans-serif; }
.vaga-identidade h3{ margin:0 0 4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#344054; font-size:13px; font-weight:650; }
.vaga-identidade code{ color:#98A2B3; background:none; padding:0; font-size:9.5px; }
.vaga-acesso{ color:#667085; font-size:11px; }
.status-vaga{ display:inline-flex; align-items:center; gap:5px; padding:5px 8px; border-radius:999px; font-size:9.5px; font-weight:650; }
.status-vaga::before{ content:""; width:6px; height:6px; border-radius:50%; }
.status-vaga.ativo{ color:#337452; background:#EDF8F2; }
.status-vaga.ativo::before{ background:#53A779; }
.status-vaga.inativo{ color:#7A4650; background:#FAF0F2; }
.status-vaga.inativo::before{ background:#C06A78; }
.vaga-acoes-pro{ display:flex; justify-content:flex-end; gap:7px; }
.acao-link{ padding:8px 11px; border:1px solid #E4E7EC; border-radius:9px; color:#667085; background:#FFF; text-decoration:none; font-size:10.5px; font-weight:650; }
.acao-link:hover{ background:#F9FAFB; color:#344054; }
.acao-link.principal{ border-color:#F0CBB7; color:#B95825; background:#FFF8F4; }
.vazio-pro{ display:grid; justify-items:center; gap:6px; background:#FFF; }
.vazio-pro .vazio-icone{ width:48px; height:48px; display:grid; place-items:center; margin-bottom:5px; border-radius:14px; background:#FFF1E8; color:#C65F27; font-size:25px; }
.vazio-pro h3{ margin:0; color:#344054; font-size:15px; }
.vazio-pro p{ max-width:430px; margin:2px 0 10px; font-size:12px; line-height:1.55; }
.vazio-pro .botao-primario-link{ width:auto !important; padding:10px 16px !important; text-decoration:none; font-size:11px; }

/* Nova vaga: descrição agora pode crescer sem corte artificial. */
#form-vaga textarea[name="descricao"]{ min-height:240px !important; line-height:1.55; }
#form-vaga textarea[name="descricao_reforco"]{ min-height:190px !important; line-height:1.55; }
#form-vaga .dica{ line-height:1.5; }

@media (max-width:980px){
  .dashboard-layout{ grid-template-columns:72px minmax(0,1fr); }
  .dashboard-sidebar{ padding:20px 10px; }
  .sidebar-titulo,.sidebar-link span:last-child,.sidebar-seguranca div{ display:none; }
  .sidebar-link{ justify-content:center; padding:0; }
  .sidebar-seguranca{ justify-content:center; padding:12px 6px; }
  .dashboard-metricas{ grid-template-columns:1fr 1fr; }
  .metrica-destaque{ grid-column:1/-1; }
  .tabela-vagas-head{ display:none; }
  .vaga-row{ grid-template-columns:1fr auto; gap:8px 14px; }
  .vaga-identidade{ grid-column:1; }
  .vaga-acesso{ grid-column:1; padding-left:50px; }
  .vaga-row > div:nth-child(3){ grid-column:2; grid-row:1; }
  .vaga-acoes-pro{ grid-column:2; grid-row:2; }
}
@media (max-width:680px){
  .topo-conta-label{ display:none; }
  .dashboard-layout{ display:block; }
  .dashboard-sidebar{ position:fixed; left:0; right:0; bottom:0; top:auto; z-index:70; width:auto; height:62px; padding:7px 10px; border-right:0; border-top:1px solid var(--app-line); flex-direction:row; align-items:center; background:rgba(255,255,255,.96); backdrop-filter:blur(14px); }
  .sidebar-grupo{ width:100%; display:grid; grid-template-columns:repeat(3,1fr); }
  .sidebar-rodape{ display:none; }
  .sidebar-link{ min-height:46px; }
  .dashboard-main{ padding:28px 15px 88px; }
  .dashboard-cabecalho{ align-items:flex-start; flex-direction:column; }
  .dashboard-cabecalho h1{ font-size:27px; }
  .dashboard-cta{ width:100% !important; }
  .dashboard-metricas{ grid-template-columns:1fr 1fr; gap:10px; }
  .metrica{ min-height:136px; padding:17px; }
  .metrica-destaque{ grid-column:1/-1; }
  .metrica strong{ margin-top:17px; font-size:27px; }
  .vaga-row{ padding:14px; grid-template-columns:1fr; }
  .vaga-identidade,.vaga-acesso,.vaga-row > div:nth-child(3),.vaga-acoes-pro{ grid-column:1; grid-row:auto; }
  .vaga-acesso{ padding-left:50px; margin-top:-6px; }
  .vaga-acoes-pro{ margin-top:6px; justify-content:stretch; }
  .acao-link{ flex:1; text-align:center; }
}

.descricao-status-pro{
  display:flex; align-items:flex-start; gap:10px; margin:8px 0 12px; padding:11px 12px;
  border:1px solid #DCEBE3; border-radius:11px; background:#F5FBF7;
}
.descricao-status-icone{
  flex:0 0 auto; width:22px; height:22px; display:grid; place-items:center; border-radius:7px;
  background:#E3F3E9; color:#397659; font-size:11px; font-weight:800;
}
.descricao-status-pro strong{ display:block; color:#3C5E4B; font-size:10.5px; line-height:1.35; }
.descricao-status-pro small{ display:block; margin-top:2px; color:#708277; font-size:9.8px; line-height:1.45; }
