
/* Grid para centralizar e colocar lado a lado o Perfil ICP e a Fonte da Busca */
#nxp-grid-wrap {
  display: grid !important;
  grid-template-columns: 290px minmax(0, 1fr) !important;
  gap: 20px !important;
  align-items: start !important;
  width: 100% !important;
  margin-top: 8px !important;
}
@media (max-width: 960px) {
  #nxp-grid-wrap {
    grid-template-columns: 1fr !important;
  }
}

/* Ocultar blocos de textos e avisos redundantes da busca */
div[aria-label="Contexto do perfil ICP"],
div[aria-label="Contexto ICP"],
section[aria-label="Busca na base local"] > div > p,
div:has(> label select[aria-label="Fonte da busca"]) > div > p,
body.nx-busca .rounded.border.p-3.text-sm {
  display: none !important;
}

#nxp-panel {
  position: static !important;
  left: auto !important;
  top: auto !important;
  width: 100% !important;
  height: 580px !important;
  max-height: calc(100vh - 120px) !important;
  background: #0a0a0a !important;
  border: 1px solid #3a3f45 !important;
  border-radius: 12px !important;
  padding: 14px !important;
  color: #e8eaed !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* ============ NEXZO — Buscar Leads (/discovery APENAS) ============ */

/* reserva espaço do painel — só quando a classe está ativa */
body.nx-busca #main-content { padding-left:0 !important; }
@media (max-width:1100px){ body.nx-busca #main-content { padding-left:0 !important; } }

/* ---------- painel de perfil ---------- */
#nxp-panel{
  position:fixed; left:76px; top:84px; width:268px;
  height:560px; max-height:calc(100vh - 110px);
  background:#0a0a0a; border:1px solid #3a3f45; border-radius:12px;
  padding:14px; color:#e8eaed; z-index:9000;
  display:flex; flex-direction:column; overflow:hidden;
  box-shadow:0 16px 40px rgba(0,0,0,.55); box-sizing:border-box;
}
@media (max-width:1100px){
  #nxp-panel{ position:static; width:100%; height:auto; max-height:none;
    margin-bottom:14px; box-shadow:none; z-index:0 !important; }
  body.nx-busca #main-content{ display:flex; flex-direction:column; }
}
#nxp-head{ display:flex; align-items:center; gap:8px; margin-bottom:10px; flex-shrink:0; }
#nxp-head h3{ margin:0; font-size:13px; font-weight:800; color:#fff; flex:1;
  text-transform:uppercase; letter-spacing:.04em; }
#nxp-new{ border:1px solid #000; border-radius:6px; padding:4px 9px; font-weight:800;
  font-size:10px; background:#d1f5d3; color:#000; cursor:pointer; white-space:nowrap; }

#nxp-list{ flex:1 1 auto; min-height:0; overflow-y:auto;
  display:flex; flex-direction:column; gap:8px; padding-right:6px;
  scrollbar-width:thin; scrollbar-color:#7ee787 #22262a; }
#nxp-list::-webkit-scrollbar{ width:9px; }
#nxp-list::-webkit-scrollbar-track{ background:#22262a; border-radius:4px; }
#nxp-list::-webkit-scrollbar-thumb{ background:#7ee787; border-radius:4px; }
#nxp-list::-webkit-scrollbar-thumb:hover{ background:#a5f3b0; }

.nxp-card{ background:#15181b; border:1px solid #3a3f45; border-radius:9px;
  padding:9px 10px; cursor:pointer; }
.nxp-card:hover{ background:#1c2126; }
.nxp-card.on{ border-color:#7ee787; background:#1f3b24; }
.nxp-card .nm{ font-size:12px; font-weight:800; color:#fff; line-height:1.25; }
.nxp-card .sg{ font-size:10px; color:#b9c0c7; margin-top:2px; }
.nxp-acts{ display:flex; gap:4px; margin-top:7px; }
.nxp-acts button{ flex:1; border:1px solid #000; border-radius:6px; padding:4px 5px;
  font-weight:800; font-size:9px; color:#000; cursor:pointer; }
.nxp-sel{ background:#d1f5d3; }
.nxp-edit{ background:#fff; }
.nxp-del{ background:#ffd6d6; }

/* ---------- modal ---------- */
#nxp-modal{ position:fixed; inset:0; background:rgba(0,0,0,.72); display:none;
  align-items:center; justify-content:center; z-index:99999; padding:16px; }
#nxp-modal.on{ display:flex; }
#nxp-modal .box{ background:#0a0a0a; border:1px solid #3a3f45; border-radius:14px;
  max-width:920px; width:100%; max-height:90vh; overflow:auto; padding:26px 28px; color:#fff; }
#nxp-modal h3{ margin:0 0 6px; font-size:20px; font-weight:800; color:#fff; }
#nxp-modal .sub{ color:#cfd4d9; font-size:13px; margin-bottom:18px; }
#nxp-modal .grid{ display:grid; gap:16px 18px; grid-template-columns:1fr 1fr; }
@media (max-width:640px){ #nxp-modal .grid{ grid-template-columns:1fr; } }
#nxp-modal label{ display:block; font-size:13px; font-weight:700; margin-bottom:6px; color:#fff; }
#nxp-modal input,#nxp-modal select{ width:100%; background:#fff; border:1px solid #fff;
  border-radius:8px; padding:11px 12px; font-size:14px; color:#111; font-weight:600; }
#nxp-modal .btns{ display:flex; gap:10px; justify-content:flex-end; margin-top:22px; }
#nxp-modal .btns button{ border:1px solid #000; border-radius:8px; padding:11px 20px;
  font-size:14px; font-weight:800; cursor:pointer; background:#fff; color:#000; }
#nxp-save{ background:#d1f5d3; }

/* ---------- barra de ações do lead ---------- */
#nxp-bar{ position:fixed; right:20px; bottom:20px; z-index:9500; display:none;
  background:#0a0a0a; border:1px solid #3a3f45; border-radius:12px; padding:12px 14px;
  color:#e8eaed; box-shadow:0 16px 40px rgba(0,0,0,.6); max-width:420px; }
#nxp-bar.on{ display:block; }
#nxp-bar .nm{ font-size:13px; font-weight:800; color:#fff; margin-bottom:8px; }
#nxp-bar .row{ display:flex; gap:8px; flex-wrap:wrap; }
#nxp-bar button{ border:1px solid #fff; border-radius:8px; padding:8px 14px;
  font-weight:800; font-size:12px; color:#000; cursor:pointer; }
#nxp-ok{ background:#d1f5d3; }
#nxp-no{ background:#ffd6d6; }
#nxp-del2{ background:#e5e7eb; }

/* ---------- tema escuro do painel do app (SÓ na busca) ---------- */
body.nx-busca .card{
  background:#0a0a0a !important; border:1px solid #3a3f45 !important;
  border-radius:12px !important;
}
body.nx-busca .card h1,body.nx-busca .card h2,
body.nx-busca .card h3,body.nx-busca .card h4{
  color:#fff !important; -webkit-text-fill-color:#fff !important; font-weight:800 !important;
}
body.nx-busca .card p,body.nx-busca .card span,body.nx-busca .card small{
  color:#e8eaed !important; -webkit-text-fill-color:#e8eaed !important;
}
body.nx-busca .card label{ color:#fff !important; font-weight:700 !important; }
body.nx-busca .card input,body.nx-busca .card select{
  background:#fff !important; color:#111 !important; -webkit-text-fill-color:#111 !important;
  border:1px solid #fff !important; border-radius:8px !important; font-weight:600 !important;
}
body.nx-busca .card button.btn{
  background:#d1f5d3 !important; color:#000 !important;
  border:1px solid #000 !important; font-weight:800 !important;
}

/* ============ CARD DA FONTE DA BUSCA (fundo preto) ============ */
body.nx-busca div:has(> label select[aria-label="Fonte da busca"]) {
  background:#0a0a0a !important;
  border:1px solid #3a3f45 !important;
  border-radius:12px !important;
  padding:18px 20px !important;
}
body.nx-busca div:has(> label select[aria-label="Fonte da busca"]) h3,
body.nx-busca div:has(> label select[aria-label="Fonte da busca"]) h4 {
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  font-weight:800 !important;
}
body.nx-busca div:has(> label select[aria-label="Fonte da busca"]) p,
body.nx-busca div:has(> label select[aria-label="Fonte da busca"]) span,
body.nx-busca div:has(> label select[aria-label="Fonte da busca"]) small {
  color:#e8eaed !important;
  -webkit-text-fill-color:#e8eaed !important;
}
body.nx-busca div:has(> label select[aria-label="Fonte da busca"]) label {
  color:#ffffff !important;
  font-weight:700 !important;
}
body.nx-busca div:has(> label select[aria-label="Fonte da busca"]) input,
body.nx-busca div:has(> label select[aria-label="Fonte da busca"]) select {
  background:#ffffff !important;
  color:#111111 !important;
  -webkit-text-fill-color:#111111 !important;
  border:1px solid #ffffff !important;
  border-radius:8px !important;
  font-weight:600 !important;
}
body.nx-busca div:has(> label select[aria-label="Fonte da busca"]) button.btn {
  background:#d1f5d3 !important;
  color:#000000 !important;
  border:1px solid #000000 !important;
  font-weight:800 !important;
}

/* ============ CARDS DE EMPRESA (dentro do card) ============ */
body.nx-busca article {
  background:#0a0a0a !important;
  border:1px solid #3a3f45 !important;
  border-radius:12px !important;
  padding:16px 18px !important;
  line-height:1.65 !important;
  color:#e8eaed !important;
  margin-bottom:12px !important;
}
body.nx-busca article > * { margin:0 0 8px 0 !important; }
body.nx-busca article > *:last-child { margin-bottom:0 !important; }
body.nx-busca article b,
body.nx-busca article strong { color:#ffffff !important; -webkit-text-fill-color:#ffffff !important; }
body.nx-busca article {
  color:#e8eaed !important; -webkit-text-fill-color:#e8eaed !important;
}

/* barra de ações DENTRO do card */
.nxp-lead-bar {
  display:flex !important;
  gap:8px !important;
  flex-wrap:wrap !important;
  margin-top:14px !important;
  padding-top:12px !important;
  border-top:1px solid #3a3f45 !important;
}
.nxp-lead-bar button {
  border:1px solid #fff !important;
  border-radius:8px !important;
  padding:8px 16px !important;
  font-weight:800 !important;
  font-size:12px !important;
  color:#000 !important;
  -webkit-text-fill-color:#111827 !important;
  cursor:pointer !important;
}
.nxp-lead-ok   { background:#d1f5d3 !important; }
.nxp-lead-no   { background:#ffd6d6 !important; }
.nxp-lead-del  { background:#e5e7eb !important; }
.nxp-lead-pipe { background:#7ee787 !important; border-color:#000 !important; }
.nxp-lead-msg  { font-size:12px !important; font-weight:800 !important; padding:6px 0 !important; }


/* ============ FORMULARIO DE BUSCA RESPONSIVO E BOTAO CENTRALIZADO ============ */
body.nx-busca form.grid,
body.nx-busca form[class*="grid"] {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  width: 100% !important;
  align-items: end !important;
}

@media (max-width: 1200px) {
  body.nx-busca form.grid,
  body.nx-busca form[class*="grid"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  body.nx-busca form.grid,
  body.nx-busca form[class*="grid"] {
    grid-template-columns: 1fr !important;
  }
}

body.nx-busca form label {
  display: flex !important;
  flex-direction: column !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  gap: 6px !important;
  width: 100% !important;
  margin: 0 !important;
}

body.nx-busca form label select,
body.nx-busca form label input {
  width: 100% !important;
  min-height: 44px !important;
  background: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  border: 1px solid #ffffff !important;
  border-radius: 8px !important;
  padding: 8px 12px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  box-sizing: border-box !important;
}

/* Botao Buscar centralizado abaixo dos campos */
body.nx-busca form button[type="submit"],
body.nx-busca button.btn-primary[type="submit"] {
  grid-column: 1 / -1 !important;
  justify-self: center !important;
  margin: 18px auto 6px auto !important;
  min-width: 260px !important;
  min-height: 48px !important;
  padding: 12px 36px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  background: #d1f5d3 !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  border: 1px solid #000000 !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.3) !important;
  transition: all 0.2s ease !important;
}

body.nx-busca form button[type="submit"]:hover {
  background: #a3e635 !important;
  transform: translateY(-1px) !important;
}


/* Padronizacao para TODAS as fontes de busca (Busca local, ScrapeGraphAI, Apify) */
body.nx-busca div[class*="rounded-"]:has(select[aria-label="Fonte da busca"]) label {
  display: flex !important;
  flex-direction: column !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  gap: 6px !important;
  width: 100% !important;
}

body.nx-busca div[class*="rounded-"]:has(select[aria-label="Fonte da busca"]) input,
body.nx-busca div[class*="rounded-"]:has(select[aria-label="Fonte da busca"]) select {
  width: 100% !important;
  min-height: 44px !important;
  background: #ffffff !important;
  color: #111111 !important;
  -webkit-text-fill-color: #111111 !important;
  border: 1px solid #ffffff !important;
  border-radius: 8px !important;
  padding: 8px 12px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  box-sizing: border-box !important;
}

/* Centraliza o botao Buscar em qualquer fonte */
body.nx-busca div[class*="rounded-"]:has(select[aria-label="Fonte da busca"]) button.btn-primary,
body.nx-busca section[aria-label="Buscar leads com o perfil ICP"] button.btn-primary,
body.nx-busca div:has(> .flex.flex-wrap button.btn-primary) button.btn-primary {
  display: flex !important;
  margin: 20px auto 6px auto !important;
  justify-self: center !important;
  min-width: 260px !important;
  min-height: 48px !important;
  padding: 12px 36px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  background: #d1f5d3 !important;
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  border: 1px solid #000000 !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  box-shadow: 0 4px 14px rgba(0,0,0,0.3) !important;
}

body.nx-busca div:has(> button.btn-primary) {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}

/* Local RFB is the only source exposed in this production UI. */
body.nx-busca label:has(select[aria-label="Fonte da busca"]) {
  display: none !important;
}

/* Mobile: keep the lead list and its review actions within the viewport. */
@media (max-width: 640px) {
  body.nx-busca #main-content {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  body.nx-busca #nxp-grid-wrap {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.nx-busca #nxp-panel,
  body.nx-busca #main-content article {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.nx-busca #main-content article .nxp-lead-bar {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    flex-wrap: wrap !important;
  }

  body.nx-busca #main-content article .nxp-lead-bar button {
    flex: 1 1 110px !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* ============ SELETOR DE FONTE OCULTO (só a busca local está disponível) ============ */
body.nx-busca label:has(select[aria-label="Fonte da busca"]) {
  display:none !important;
}
/* reforço para navegadores sem :has() no label */
body.nx-busca label > select[aria-label="Fonte da busca"] {
  display:none !important;
}
