/* ============================================================
   ArvoreView (avt-) · visualização de leitura da árvore no projeto.
   Autossuficiente e com prefixo próprio pra não colidir com o
   canvas do cliente (tg-) nem com a tela do projeto (tp-).
   ============================================================ */

.avt { display:flex; flex-direction:column; gap:14px; }
.avt-vazio { font-size:13px; color:#6F6A5E; padding:14px 0; text-align:center; }

/* legenda (chips de contagem) */
.avt-legend { display:flex; flex-wrap:wrap; gap:7px; }
.avt-chip { display:inline-flex; align-items:center; gap:5px; height:24px; padding:0 10px; border-radius:999px; border:1px solid #E3E1DA; background:#fff; font-size:11.5px; font-weight:600; color:#5C6B75; }
.avt-chip b { font-weight:800; color:var(--ink,#152735); }
.avt-chip.alerta { color:#92400e; border-color:#fcd9a8; background:#fffaf2; }
.avt-chip.alerta b { color:#92400e; }

/* palco: as gerações empilhadas, centralizadas, com as linhas atrás */
.avt-stage { position:relative; width:100%; overflow:hidden; }
.avt-inner { position:absolute; left:50%; top:0; transform:translateX(-50%); transform-origin:top center; padding:8px 4px 4px; }
.avt-lines { position:absolute; left:0; top:0; pointer-events:none; z-index:0; }
.avt-rows { position:relative; z-index:1; display:flex; flex-direction:column; gap:36px; }
.avt-row { display:flex; gap:16px; justify-content:center; align-items:stretch; }

/* nó (uma pessoa) */
.avt-node { position:relative; display:flex; align-items:center; gap:9px; background:#fff; border:1px solid #E3E1DA; border-radius:12px; padding:7px 13px 7px 8px; min-width:122px; box-shadow:0 1px 0 rgba(21,39,53,.04); }
.avt-node.titular { border-color:var(--gold,#C19749); background:#FDFBF5; box-shadow:0 2px 10px -6px rgba(193,151,73,.5); }
.avt-node.falecido { opacity:.86; }
.avt-node.fora { border-style:dashed; opacity:.7; }
.avt-av { width:34px; height:34px; flex:0 0 auto; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:800; background:#E8EEF4; color:#1D4ED8; }
.avt-node.fem .avt-av { background:#F6E9F1; color:#9D2C6E; }
.avt-node.titular .avt-av { background:var(--gold,#C19749); color:#fff; }
.avt-node.semnome .avt-av, .avt-node.desconhecido .avt-av { background:#F0EEE8; color:#8A94A0; }
.avt-tx { min-width:0; }
.avt-nm { font-size:13px; font-weight:700; color:var(--ink,#152735); line-height:1.2; white-space:nowrap; }
.avt-nm.noname { color:#8A94A0; font-weight:600; font-style:italic; }
.avt-cross { color:#8A94A0; font-weight:400; }
.avt-rel { font-size:11px; font-weight:600; color:#6F6A5E; margin-top:2px; }
.avt-grau { display:inline-flex; align-items:center; height:15px; padding:0 5px; border-radius:999px; background:#F0EEE8; color:#5C6B75; font-size:10px; font-weight:800; }

/* resumo de herdeiros (motor de sucessão) */
.avt-suc { border:1px solid #E2D3B3; border-radius:14px; background:#FDFBF5; padding:15px 17px; }
.avt-suc-h { font-family:var(--display,inherit); font-size:15px; font-weight:800; color:var(--ink,#152735); margin-bottom:4px; }
.avt-suc-aviso { font-size:11.5px; color:#8A7A52; margin-bottom:10px; }
.avt-suc-p { font-size:13px; font-weight:700; color:var(--ink,#152735); margin:0 0 8px; }
.avt-heirs { display:flex; flex-direction:column; gap:7px; }
.avt-heir { display:flex; align-items:center; gap:8px; flex-wrap:wrap; background:#fff; border:1px solid #EADFC6; border-radius:9px; padding:7px 11px; }
.avt-hnm { font-size:13px; font-weight:700; color:var(--ink,#152735); }
.avt-hrel { font-size:11.5px; font-weight:600; color:#6F6A5E; }
.avt-hfrac { margin-left:auto; font-size:12.5px; font-weight:800; color:var(--gold-text,#9A793A); white-space:nowrap; }
.avt-suc-obs { font-size:12px; color:#5c6670; line-height:1.5; margin:8px 0 0; }

@media (max-width:640px) {
  .avt-node { min-width:0; padding:6px 10px 6px 7px; }
  .avt-nm { font-size:12px; }
  .avt-row { gap:10px; }
}
