/* ─── Caça Lead · tema escuro Av360 ─────────────────────────── */
:root{
  --bg:#0b0d12;
  --bg2:#13161f;
  --bg3:#1b1f2b;
  --linha:#262b38;
  --txt:#eef1f7;
  --txt2:#9aa3b5;
  --acento:#ffb020;      /* dourado Av360 */
  --acento2:#ff8a00;
  --verde:#1fbf75;
  --vermelho:#ff5468;
  --azul:#3b8bd4;
  --raio:14px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{overflow-x:hidden;width:100%}
body{background:var(--bg);color:var(--txt);min-height:100vh;overflow-x:hidden;width:100%;position:relative}

.tela{display:none;min-height:100vh}
.tela.ativa{display:block}

/* App ocupa a tela; em telas largas abre e os cards se reorganizam sozinhos */
#tela-app{max-width:1980px;margin:0 auto;min-height:100vh;background:var(--bg);
  border-left:1px solid var(--linha);border-right:1px solid var(--linha)}
@media(min-width:2020px){ body{background:#06070a} }
/* a lista de leads vira grade fluida: nº de colunas se ajusta à largura (até 6 por linha) */
@media(min-width:720px){
  #lista-leads{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:12px;align-content:start}
}

/* ─── Logo ─── */
.logo{font-weight:800;letter-spacing:1px;font-size:30px;color:var(--txt)}
.logo span{color:var(--acento)}
.logo.pequeno{font-size:18px;letter-spacing:.5px}

/* ─── Login ─── */
#tela-login{display:none;place-items:center;padding:24px;
  background:radial-gradient(120% 80% at 50% 0%, rgba(255,176,32,.07), transparent 60%), var(--bg)}
#tela-login.ativa{display:grid}
.login-box{width:100%;max-width:360px;text-align:center}
.marca{width:64px;height:64px;margin:0 auto 18px;border-radius:18px;display:grid;place-items:center;
  background:rgba(255,176,32,.1);border:1px solid rgba(255,176,32,.25)}
.radar{width:34px;height:34px;color:var(--acento)}
.tagline{color:var(--txt2);margin:12px 0 30px;font-size:15px;line-height:1.5}
#form-login{display:flex;flex-direction:column;gap:12px}
.campo-input{position:relative}
input,select{
  width:100%;padding:15px 16px;background:var(--bg2);border:1px solid var(--linha);
  border-radius:var(--raio);color:var(--txt);font-size:15px;outline:none;transition:border-color .15s
}
input:focus,select:focus{border-color:var(--acento)}
.olho{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:40px;height:40px;
  background:transparent;border:none;color:var(--txt2);cursor:pointer;display:grid;place-items:center}
.olho svg{width:20px;height:20px}
.olho.on{color:var(--acento)}
#form-login .btn-primario{margin-top:4px;padding:15px}
.btn-primario{
  padding:14px 16px;background:linear-gradient(135deg,var(--acento),var(--acento2));
  border:none;border-radius:var(--raio);color:#1a1200;font-weight:700;font-size:15px;cursor:pointer
}
.btn-primario:active{transform:scale(.98)}
.login-msg{font-size:13px;margin-top:14px;padding:10px;border-radius:10px}
.login-msg.erro{background:rgba(255,84,104,.12);color:var(--vermelho)}
.login-msg.ok{background:rgba(31,191,117,.12);color:var(--verde)}
.aviso-beta{color:var(--txt2);font-size:12px;margin-top:18px}
.toast{position:fixed;left:50%;top:74px;transform:translateX(-50%);background:var(--bg3);
  border:1px solid var(--acento);color:var(--txt);padding:14px 22px;border-radius:14px;font-size:15px;line-height:1.4;
  z-index:200;max-width:92%;text-align:center;box-shadow:0 12px 34px rgba(0,0,0,.55);transition:opacity .3s}
.toast.saindo{opacity:0}

/* ─── Topo do app ─── */
.topo{display:flex;align-items:center;justify-content:space-between;
  padding:12px 16px;border-bottom:1px solid var(--linha);position:sticky;top:0;background:var(--bg);z-index:10}
.topo-marca{display:flex;align-items:center;gap:9px}
.radar-mini{width:26px;height:26px;color:var(--acento);flex:0 0 auto}

/* barra da cesta de seleção (topo) */
.barra-selecao{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;
  padding:11px 16px;border-bottom:1px solid var(--linha);background:rgba(255,176,32,.06)}
.bs-info{display:flex;flex-direction:column;gap:2px;min-width:0}
.bs-sel{font-size:13px;color:var(--txt)}
.bs-sel b{color:var(--acento);font-size:15px}
.bs-limpar{margin-left:8px;font-size:12px;color:var(--txt2)}
.bs-limpar:hover{color:var(--acento)}
.bs-cota{font-size:13px;color:var(--txt2)}
.bs-cota b{color:var(--txt)}
.bs-acoes{display:flex;gap:8px;align-items:center;justify-content:flex-end}
.bs-acoes #btn-ia-escolhe{flex:0 0 auto}
.bs-acoes #btn-analisar-sel{flex:0 0 auto;padding:10px 16px;font-size:13px}
.aba-sel.ativa{background:rgba(255,176,32,.14);color:var(--acento);border-color:var(--acento)}
.topo-acoes{display:flex;gap:8px;align-items:center}
.topo-oi{font-size:13px;color:var(--txt2);white-space:nowrap;max-width:170px;overflow:hidden;text-overflow:ellipsis;margin-right:2px}
.topo-oi b{color:var(--txt)}
.grupo-divisor{grid-column:1/-1;font-size:12px;font-weight:700;color:var(--acento);
  text-transform:uppercase;letter-spacing:.6px;padding:10px 2px 4px;border-bottom:1px solid var(--linha);margin-top:6px}
.cfg-bloco{margin:14px 0}
.cfg-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--txt2);margin-bottom:6px}
.cfg-linha{display:flex;gap:8px}
.cfg-input{flex:1;padding:10px 12px;border-radius:10px;background:var(--bg2);border:1px solid var(--linha);color:var(--txt);outline:none;font-size:14px}
.cfg-input:focus{border-color:var(--acento)}
.cfg-info{font-size:14px;color:var(--txt)}
.cfg-acoes{display:flex;gap:8px;flex-wrap:wrap}
.login-titulo{text-align:center;color:var(--acento);font-weight:700;font-size:15px;margin:-4px 0 14px;
  text-transform:uppercase;letter-spacing:.5px}
.login-links{display:flex;gap:10px;justify-content:center;align-items:center;margin-top:14px}
.login-sep{color:var(--txt2)}
.adm-novo{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.adm-novo .cfg-input{flex:1;min-width:120px}
.adm-lista{display:flex;flex-direction:column;gap:8px;max-height:55vh;overflow:auto}
.adm-row{display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:10px 12px;border:1px solid var(--linha);border-radius:10px;background:var(--bg2)}
.adm-row.bloqueado{opacity:.55}
.adm-info{min-width:0}
.adm-info b{font-size:13.5px;word-break:break-all}
.adm-sub{display:block;font-size:11.5px;color:var(--txt2);margin-top:2px}
.adm-tag{font-size:10px;text-transform:uppercase;letter-spacing:.4px;padding:1px 6px;border-radius:6px;
  background:rgba(255,176,32,.16);color:var(--acento);margin-left:4px}
.adm-tag.bloq{background:rgba(229,72,77,.16);color:#e5484d}
.adm-tag.ok2{background:rgba(31,191,117,.16);color:var(--verde)}
.adm-divisor{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--txt2);
  margin:18px 0 8px;border-top:1px solid var(--linha);padding-top:12px;font-weight:600}
.adm-acoes{display:flex;gap:6px;flex-shrink:0}
.adm-vazio{color:var(--txt2);font-size:13px;text-align:center;padding:16px}
.adm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:4px 0 16px}
.adm-stat{background:var(--bg3);border-radius:10px;padding:10px 6px;text-align:center}
.adm-stat b{display:block;font-size:20px;font-weight:800;color:var(--acento);line-height:1}
.adm-stat span{font-size:10.5px;color:var(--txt2);display:block;margin-top:3px}
.modal-mini{max-width:340px;text-align:center}
.tel-num{font-size:26px;font-weight:800;color:var(--acento);margin:14px 0 18px;letter-spacing:.5px}
.btn-icone{background:var(--bg2);border:1px solid var(--linha);color:var(--txt2);
  width:32px;height:32px;border-radius:9px;font-size:14px;cursor:pointer}
.btn-icone:hover{border-color:var(--txt2)}

/* ─── Busca ─── */
.bloco-busca{padding:12px 16px;display:flex;flex-direction:column;gap:9px;
  border-bottom:1px solid var(--linha)}
.busca-linha{display:grid;grid-template-columns:1fr 96px;gap:8px}
.busca-acao{display:flex;gap:8px;align-items:stretch}
.busca-acao #btn-buscar{flex:1}
.btn-quad{flex:0 0 auto;width:48px;background:var(--bg2);border:1px solid var(--linha);
  color:var(--txt2);border-radius:11px;cursor:pointer;display:grid;place-items:center}
.btn-quad:hover{border-color:var(--acento);color:var(--acento)}
.busca-dica{font-size:11.5px;color:var(--txt2);line-height:1.45;margin-top:-2px}
.chk-novos-linha{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--txt);cursor:pointer;user-select:none}
.chk-novos-linha input{width:18px;height:18px;accent-color:var(--acento);flex:0 0 auto}
.chk-novos-linha small{color:var(--txt2)}
.busca-dica b{color:var(--txt)}
.bloco-busca input,.bloco-busca select{padding:11px 13px;font-size:14px;border-radius:11px}
.cat-toggle{display:flex;align-items:center;justify-content:space-between;
  padding:11px 13px;background:var(--bg2);border:1px solid var(--linha);border-radius:11px;
  color:var(--txt);font-size:14px;cursor:pointer}
.cat-toggle b{color:var(--acento);font-weight:600}
.cat-toggle .chevron{width:18px;height:18px;color:var(--txt2);transition:transform .2s}
.cat-toggle.aberto .chevron{transform:rotate(180deg)}
.cat-painel{display:flex;flex-direction:column;gap:8px}
.cat-toolbar{display:flex;gap:14px;padding:2px 2px 0}
.link-btn{background:none;border:none;color:var(--acento);font-size:12.5px;font-weight:500;cursor:pointer;padding:0}
.link-btn:active{opacity:.6}
.chips{display:flex;flex-wrap:wrap;gap:7px;padding:2px 0 4px}
.chip-grupo{width:100%;font-size:11.5px;font-weight:700;color:var(--acento);text-transform:uppercase;
  letter-spacing:.5px;margin:12px 0 3px;padding-left:8px;border-left:3px solid var(--acento);border-radius:0}
.chip-grupo:first-child{margin-top:2px}
.chip-grupo.gc-0{color:#ffb020;border-color:#ffb020}
.chip-grupo.gc-1{color:#1fbf75;border-color:#1fbf75}
.chip-grupo.gc-2{color:#3b8bd4;border-color:#3b8bd4}
.chip-grupo.gc-3{color:#c084fc;border-color:#c084fc}
.chip-grupo.gc-4{color:#ff7aa2;border-color:#ff7aa2}
.chip-grupo.gc-5{color:#38d6c4;border-color:#38d6c4}

/* card candidato (etapa 1, ainda sem análise) */
.card.candidato{padding:13px}
.cand-topo{display:flex;align-items:flex-start;gap:10px}
.cand-check{flex:0 0 auto;padding-top:2px}
.cand-check input{width:20px;height:20px;accent-color:var(--acento);cursor:pointer}
.cand-info{flex:1;min-width:0}
.cand-info h3{font-size:15px;font-weight:700}
/* nome no máximo 2 linhas (nomes longos não estouram o card) */
.card h3,.cand-info h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25}
/* pino do endereço: botãozinho que abre o popup com o endereço completo */
.pin-end{flex:0 0 auto;background:none;border:none;cursor:pointer;font-size:13px;padding:0 2px;line-height:1}
.pin-end:active{opacity:.6}
.end-txt{font-size:15px;line-height:1.5;color:var(--txt);margin:12px 0 18px}
.res-bloco{border:1px solid var(--linha);border-radius:11px;padding:12px 14px;margin-bottom:10px}
.res-bloco b{font-size:14px}
.res-bloco p{font-size:12.5px;color:var(--txt2);margin-top:4px}
.res-ok{border-color:rgba(31,191,117,.5);background:rgba(31,191,117,.08)}
.res-ok b{color:var(--verde)}
.res-aviso{border-color:rgba(255,176,32,.4);background:rgba(255,176,32,.07)}
.res-aviso b{color:var(--acento)}
.res-lista{list-style:none;margin-top:6px;display:flex;flex-direction:column;gap:3px}
.res-lista li{font-size:13px;color:var(--txt);padding-left:14px;position:relative}
.res-lista li::before{content:"•";position:absolute;left:2px;color:var(--txt2)}
.prog-spin{width:42px;height:42px;margin:6px auto 14px;border:4px solid var(--linha);border-top-color:var(--acento);border-radius:50%;animation:girar .8s linear infinite}
@keyframes girar{to{transform:rotate(360deg)}}
.prog-txt{font-size:17px;font-weight:700;color:var(--txt);margin-bottom:12px}
.prog-bar{height:8px;background:var(--bg);border-radius:99px;overflow:hidden}
.prog-fill{height:100%;width:0;background:var(--acento);border-radius:99px;transition:width .3s}
.prog-sub{font-size:12px;color:var(--txt2);line-height:1.45;margin-top:12px}
.badge-cand{flex:0 0 auto;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;
  color:var(--txt2);background:var(--bg3);padding:4px 8px;border-radius:999px}

/* barra de análise (fixa embaixo) */
.barra-analise{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:60;
  display:flex;align-items:center;gap:14px;background:var(--bg3);border:1px solid var(--linha);
  border-radius:14px;padding:10px 14px;box-shadow:0 8px 30px rgba(0,0,0,.5);max-width:92%}
.barra-link{background:none;border:none;color:var(--acento);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}
.barra-info{font-size:13px;color:var(--txt2);white-space:nowrap}
.barra-info b{color:var(--txt)}
.barra-analise .btn-primario{padding:10px 16px;font-size:13px;white-space:nowrap}
.chip{padding:7px 11px;background:var(--bg2);border:1px solid var(--linha);border-radius:999px;
  font-size:12.5px;color:var(--txt2);cursor:pointer;user-select:none}
.chip.on{background:rgba(255,176,32,.14);border-color:var(--acento);color:var(--acento)}
#btn-buscar{padding:10px;font-size:13px;font-weight:600;border-radius:11px}

/* ─── Abas de status ─── */
.abas{display:flex;flex-wrap:wrap;gap:6px;padding:10px 16px;overflow-x:auto;overscroll-behavior-x:contain;border-bottom:1px solid var(--linha)}
.aba{white-space:nowrap;padding:6px 12px;background:transparent;border:1px solid var(--linha);
  border-radius:999px;color:var(--txt2);font-size:12.5px;cursor:pointer}
.aba.ativa{background:var(--bg3);color:var(--txt);border-color:var(--bg3)}

/* campo de busca na lista */
/* no celular, todo campo precisa de >=16px senão o Safari dá zoom ao focar e a tela "pula" */
@media(max-width:719px){
  input,select,textarea{font-size:16px !important}
}
.busca-lista-wrap{padding:10px 16px 0;position:relative}
#busca-lista{width:100%;padding:10px 38px 10px 13px;font-size:14px;border-radius:11px;
  background:var(--bg2);border:1px solid var(--linha);color:var(--txt);outline:none}
#busca-lista:focus{border-color:var(--acento)}
.busca-x{position:absolute;right:24px;top:50%;transform:translateY(-50%);width:26px;height:26px;
  border:none;background:var(--bg3);color:var(--txt2);border-radius:50%;font-size:12px;cursor:pointer;line-height:1}
.busca-x:hover{color:var(--txt)}

/* barra apagar descartados */
.barra-desc{padding:10px 16px;border-bottom:1px solid var(--linha)}
.btn-apagar{width:100%;padding:11px;border-radius:11px;border:1px solid rgba(255,84,104,.4);
  background:rgba(255,84,104,.1);color:var(--vermelho);font-size:13px;font-weight:600;cursor:pointer}
.btn-apagar:hover{background:rgba(255,84,104,.2)}

/* ─── Lista de leads ─── */
.lista{padding:12px 16px 80px;display:flex;flex-direction:column;gap:10px}
.card{background:var(--bg2);border:1px solid var(--linha);border-radius:var(--raio);padding:14px;
  display:flex;flex-direction:column}
.card-topo{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.card h3{font-size:15px;font-weight:700;overflow-wrap:anywhere}
.card .cat{display:flex;align-items:center;gap:3px;font-size:11.5px;color:var(--txt2);margin-top:2px;min-width:0}
.card .cat>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.cand-info h3{overflow-wrap:anywhere}
.score{flex:0 0 auto;width:50px;height:50px;border-radius:12px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;font-weight:800;font-size:17px;line-height:1.05;padding:2px}
.score small{display:block;font-size:8px;font-weight:600;opacity:.75;letter-spacing:.2px;margin-top:1px}
.score.alto{background:rgba(31,191,117,.18);color:var(--verde)}
.score.medio{background:rgba(255,176,32,.18);color:var(--acento)}
.score.baixo{background:rgba(154,163,181,.16);color:var(--txt2)}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.tag{font-size:11px;padding:4px 9px;border-radius:999px;background:var(--bg3);color:var(--txt2)}
.tag.quente{background:rgba(255,84,104,.14);color:var(--vermelho)}
.tag.ok{background:rgba(59,139,212,.14);color:var(--azul)}
.tag.analisado{background:rgba(31,191,117,.16);color:var(--verde);font-weight:600}
.tag.mat-amador{background:rgba(31,191,117,.16);color:var(--verde);text-transform:capitalize}
.tag.mat-misto{background:rgba(255,176,32,.16);color:var(--acento);text-transform:capitalize}
.tag.mat-profissional{background:rgba(255,84,104,.16);color:var(--vermelho);text-transform:capitalize}
.tag.padrao{background:rgba(255,176,32,.16);color:var(--acento);text-transform:capitalize}
.tag.porte-empresa{background:rgba(59,139,212,.18);color:#6db3f2;text-transform:capitalize}
.tag.porte-liberal{background:rgba(127,119,221,.18);color:#b3a7ff;text-transform:capitalize}
.ia-nota{font-size:13px;color:var(--txt2);line-height:1.5;border-left:2px solid var(--acento);
  padding-left:10px;margin:10px 0}
.score{cursor:pointer;border:none;font-family:inherit}
.score small{white-space:nowrap}

/* contatos */
.card-contatos{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}
/* card analisado: empurra os botões pro rodapé pra alinhar todos os cards da linha */
.card:not(.candidato) .card-contatos{margin-top:auto}
.card-contatos .mini{justify-content:center;white-space:nowrap}
.card-contatos .mini.btn-fav{width:auto}
.mini.elip{display:inline-block;max-width:150px;flex:0 1 auto;min-width:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.cand-msg-linha{display:flex;gap:7px;margin-top:7px}
.cand-msg-linha .meia{flex:1 1 0;min-width:0;display:block;text-align:center;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mini{display:inline-flex;align-items:center;gap:4px;padding:8px 11px;border-radius:9px;border:1px solid var(--linha);
  background:transparent;color:var(--txt2);font-size:12.5px;font-weight:500;cursor:pointer;transition:.15s;
  text-decoration:none;line-height:1}
a.mini:visited{color:var(--txt2)}
.mini:hover{color:var(--txt);border-color:var(--txt2)}
.mini.zap{background:rgba(31,191,117,.12);border-color:transparent;color:var(--verde)}
.mini.zap:hover{background:rgba(31,191,117,.2)}
.mini.btn-fav{width:38px;flex:0 0 auto;font-size:15px}
/* ✕ descartar — pequeno, no topo do card */
.btn-x{flex:0 0 auto;width:26px;height:26px;border-radius:8px;border:none;background:transparent;
  color:var(--txt2);font-size:13px;cursor:pointer;line-height:1}
.btn-x:hover{background:rgba(255,84,104,.16);color:var(--vermelho)}
.btn-x.restaurar:hover{background:rgba(31,191,117,.16);color:var(--verde)}
.topo-dir{display:flex;align-items:center;gap:6px}
.mini.btn-fav.on{color:var(--acento);border-color:var(--acento);background:rgba(255,176,32,.12)}
.mini.on{color:var(--verde);border-color:rgba(31,191,117,.5);background:rgba(31,191,117,.1)}

/* ferramentas (mensagem / nota) */
.card-ferramentas{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}
.card-ferramentas .mini{justify-content:center;white-space:nowrap}
.card-ferramentas .mini.destaque{flex:none}
.mini.destaque{flex:1;background:rgba(255,176,32,.12);border-color:transparent;color:var(--acento);font-weight:600}
.mini.destaque:hover{background:rgba(255,176,32,.2);color:var(--acento)}

/* modal grande (mensagens) */
.modal-grande{max-width:560px;max-height:85vh;overflow-y:auto}
#modal-admin .modal-caixa{max-width:820px;max-height:90vh}
#modal-admin .adm-lista{max-height:64vh}
.msg-sub{font-size:13px;color:var(--txt2);margin-bottom:14px;line-height:1.5}
.msg-item{background:var(--bg3);border:1px solid var(--linha);border-radius:12px;padding:13px;margin-bottom:10px}
.msg-tag{font-size:11px;font-weight:600;color:var(--acento);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.msg-txt{font-size:13.5px;color:var(--txt);line-height:1.5;margin-bottom:10px;white-space:pre-wrap}
.msg-acoes{display:flex;gap:7px}

/* anotações */
.nota-area{width:100%;min-height:140px;resize:vertical;padding:13px;font-size:14px;font-family:inherit;
  background:var(--bg);border:1px solid var(--linha);border-radius:11px;color:var(--txt);outline:none;margin-bottom:14px}
.nota-area:focus{border-color:var(--acento)}
#nota-salvar{width:100%}

/* rodapé: situação */
.card-rodape{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;
  padding-top:12px;border-top:1px solid var(--linha)}
.rodape-label{font-size:12px;color:var(--txt2);text-transform:uppercase;letter-spacing:.5px}
.card-rodape select{flex:1 1 130px;padding:9px 11px;font-size:13px;border-radius:9px;
  background:var(--bg3);border:1px solid var(--linha);color:var(--txt)}
/* cor do seletor de classificação conforme o valor */
.classif-sel.cor-empresa{color:#6db3f2;border-color:rgba(59,139,212,.6);background:rgba(59,139,212,.1)}
.classif-sel.cor-liberal{color:#b3a7ff;border-color:rgba(127,119,221,.6);background:rgba(127,119,221,.1)}
.classif-sel.cor-premium{color:var(--acento);border-color:rgba(255,176,32,.6);background:rgba(255,176,32,.1)}
.classif-sel.cor-medio{color:#7fc9a3;border-color:rgba(31,191,117,.5);background:rgba(31,191,117,.08)}
.classif-sel.cor-popular{color:var(--txt2);border-color:var(--linha);background:var(--bg3)}

/* modal */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:grid;place-items:center;z-index:100;padding:20px}
.modal-caixa{background:var(--bg2);border:1px solid var(--linha);border-radius:16px;
  padding:22px;max-width:420px;width:100%;position:relative}
.modal-caixa h2{font-size:18px;font-weight:700;margin-bottom:14px}
.modal-x{position:absolute;top:14px;right:14px;background:none;border:none;color:var(--txt2);font-size:16px;cursor:pointer}
.modal-score-num{font-size:48px;font-weight:800;text-align:center;margin:4px 0 18px;line-height:1}
.modal-score-num span{font-size:18px;color:var(--txt2);font-weight:500}
.modal-score-num.alto{color:var(--verde)}.modal-score-num.medio{color:var(--acento)}.modal-score-num.baixo{color:var(--txt2)}
.modal-lista{list-style:none;display:flex;flex-direction:column;gap:0;margin-bottom:16px;
  border:1px solid var(--linha);border-radius:12px;overflow:hidden}
.modal-lista li{font-size:14px;color:var(--txt);line-height:1.5;padding:11px 13px}
.modal-lista li:nth-child(odd){background:var(--bg3)}
.modal-criterio{font-size:13px;color:var(--txt2);line-height:1.6;background:var(--bg3);
  border-radius:11px;padding:13px}
.modal-criterio strong{display:block;color:var(--txt);margin-bottom:5px}

.card-acoes{display:flex;gap:8px;margin-top:12px}
.btn-acao{flex:1;padding:8px;border-radius:9px;border:1px solid var(--linha);background:transparent;
  color:var(--txt2);font-size:12px;font-weight:500;cursor:pointer;transition:.15s}
.btn-acao:hover{color:var(--txt);border-color:var(--txt2)}
.btn-acao.zap{background:rgba(31,191,117,.12);border-color:transparent;color:var(--verde)}
.btn-acao.zap:hover{background:rgba(31,191,117,.2)}
.btn-fav{flex:0 0 auto;width:38px;border-radius:9px;border:1px solid var(--linha);background:transparent;
  color:var(--txt2);font-size:16px;line-height:1;cursor:pointer;transition:.15s}
.btn-fav:hover{color:var(--acento);border-color:var(--acento)}
.btn-fav.on{color:var(--acento);border-color:var(--acento);background:rgba(255,176,32,.12)}
.aba-fav.ativa{background:rgba(255,176,32,.14);color:var(--acento);border-color:var(--acento)}

/* ─── Estado vazio ─── */
.vazio{text-align:center;padding:60px 24px;color:var(--txt2)}
.vazio p{font-size:16px;color:var(--txt)}
.vazio span{font-size:14px}
.oculto{display:none}
