/* Ficha da direita: "Dados pessoais" e "Filhos" (web/js/ficha-pessoa.js).
   Só tokens do tema: funciona no escuro e no claro (html[data-tema="claro"]). */

/* 20/09: "Dados pessoais" e "Filhos" são duas pílulas da barra de ícones da ficha
   (css/ficha-compacto.css); o que está aqui é o conteúdo dos balões. */
.fp-cont { display: inline-block; min-width: 18px; padding: 0 5px; margin-left: 4px; border-radius: 999px;
  background: var(--marca-fundo); color: var(--marca); font-size: 11px; text-align: center; letter-spacing: 0; }

.fp-link { background: none; border: 0; padding: 2px 0; color: var(--marca); font: inherit; font-size: 12.5px; cursor: pointer; }
.fp-link:hover { text-decoration: underline; }

.fp-sexo { display: flex; gap: 6px; margin-bottom: 8px; }
.fp-chip { flex: 1; padding: 5px 8px; border: 1px solid var(--borda); border-radius: 8px; background: var(--fundo-2);
  color: var(--texto-2); font: inherit; font-size: 12.5px; cursor: pointer; }
.fp-chip:hover { border-color: var(--borda-forte); color: var(--texto); }
.fp-chip.ativo { border-color: var(--ouro); background: var(--marca-fundo); color: var(--marca); font-weight: 600; }

.fp-rotulo-grupo { margin: 10px 0 3px; font-size: 11px; text-transform: uppercase; letter-spacing: .5px; color: var(--texto-3); }

.fp-form { display: grid; gap: 6px; }
.fp-campo { display: grid; grid-template-columns: 96px minmax(0, 1fr); align-items: center; gap: 6px; font-size: 12.5px; }
.fp-campo span { color: var(--texto-3); }
.fp-form input, .fp-form select {
  width: 100%; min-width: 0; padding: 6px 8px; border: 1px solid var(--borda); border-radius: 8px;
  background: var(--input); color: var(--texto); font: inherit; font-size: 12.5px;
}
.fp-form input:focus, .fp-form select:focus { outline: none; border-color: var(--ouro); }
.fp-linha { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 6px; }
.fp-acoes { display: flex; gap: 6px; margin-top: 2px; }

.fp-add-filhos { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.fp-filhos:empty { display: none; }
.fp-vazio-filhos { margin-bottom: 0; }
.fp-add { flex: 1; padding: 5px 8px; border: 1px dashed var(--borda-forte); border-radius: 8px; background: none;
  color: var(--marca); font: inherit; font-size: 12.5px; cursor: pointer; white-space: nowrap; }
.fp-add:hover { border-style: solid; border-color: var(--ouro); background: var(--marca-fundo); }
.fp-sexo-fixo { align-self: center; padding: 0 2px; font-size: 12.5px; font-weight: 600; color: var(--texto-2); }
.fp-filhos { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.fp-filho { display: flex; align-items: center; gap: 8px; padding: 7px 8px; border: 1px solid var(--borda);
  border-radius: 8px; background: var(--fundo-2); }
.fp-filho.fp-editando { display: block; border-color: var(--ouro); }
.fp-ponto { width: 10px; height: 10px; border-radius: 50%; flex: none; }
.fp-filho-m { background: var(--info); }
.fp-filha { background: #e879a6; }
.fp-filho-info { flex: 1; min-width: 0; display: grid; gap: 1px; }
.fp-filho-info b { font-weight: 500; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fp-filho-info em { color: var(--texto-3); font-weight: 400; }
.fp-filho-info small { color: var(--texto-2); font-size: 11.5px; }
.fp-filho-info .fp-obs { color: var(--texto-3); }
.fp-selo { flex: none; padding: 1px 7px; border-radius: 999px; border: 1px solid var(--ouro);
  color: var(--marca); background: var(--marca-fundo); font-size: 10.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .4px; }
.fp-icone { flex: none; width: 24px; height: 24px; border: 0; border-radius: 6px; background: transparent;
  color: var(--texto-3); cursor: pointer; font-size: 14px; line-height: 1; }
.fp-icone:hover { background: var(--fundo-3); color: var(--texto); }
.fp-remover:hover { color: var(--erro); }
/* CTA de seção vazia, dentro do balão: botão pontilhado com o texto à vista
   (o balão em si já é o "hover"; aqui não cabe outro). */
.fp-cta-linha { display: flex; }
.fp-cta { display: flex; align-items: flex-start; gap: 8px; width: 100%; padding: 8px 10px; text-align: left;
  border: 1px dashed var(--borda-forte); border-radius: 8px; background: none; color: var(--marca); font: inherit; cursor: pointer; }
.fp-cta:hover, .fp-cta:focus-visible { border-style: solid; border-color: var(--ouro); background: var(--marca-fundo); outline: none; }
.fp-cta-icone { font-size: 14px; line-height: 1.3; }
.fp-cta-texto { display: grid; gap: 2px; min-width: 0; }
.fp-cta-texto b { font-size: 12.5px; font-weight: 600; color: var(--marca); }
.fp-cta-texto small { font-size: 11.5px; line-height: 1.4; color: var(--texto-3); }
.fp-dica { margin: 8px 0 0; font-size: 11.5px; color: var(--texto-3); }
