/* Family Tree Plugin — parametrizável e isolado */
.evtz-family-tree {
	--eft-height: 620px;
	--eft-border: var(--border, rgba(255, 255, 255, .14));
	--eft-text: var(--text, #f8fafc);
	--eft-muted: var(--muted, #a7b2c3);
	--eft-soft: var(--soft, #e7d2b0);
	--eft-gold: var(--gold, #c89b57);
	--eft-amber: var(--amber, #f0c987);
	--eft-surface-strong: var(--surface-strong, rgba(255, 255, 255, .13));
	--eft-node-bg: rgba(15, 23, 42, .82);
	--eft-line: rgba(231, 210, 176, .34);
	--eft-card-bg:
		linear-gradient(180deg, rgba(24, 31, 40, .96), rgba(15, 20, 28, .94));
	--eft-card-border: rgba(255, 255, 255, .08);
	--eft-card-title: #f5f7fa;
	--eft-card-text: #c7d0da;
	--eft-card-muted: #8e9aa8;
	--eft-card-shadow: 0 18px 42px rgba(0, 0, 0, .42);
	--eft-card-hover: 0 24px 54px rgba(0, 0, 0, .52);
}

/* Light mode */
html[data-theme="light"] .evtz-family-tree,
html:not([data-theme="dark"]) .evtz-family-tree {
	--eft-node-bg: rgba(255, 255, 255, .94);
	--eft-line: rgba(123, 78, 44, .22);
	--eft-border: rgba(123, 78, 44, .16);
	--eft-surface-strong: rgba(123, 78, 44, .08);
	--eft-card-bg:
		linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 244, 236, .96));
	--eft-card-border: rgba(120, 84, 52, .14);
	--eft-card-title: #2d241c;
	--eft-card-text: #5b5148;
	--eft-card-muted: #8b7d70;
	--eft-card-shadow: 0 14px 34px rgba(88, 58, 33, .12);
	--eft-card-hover: 0 18px 44px rgba(88, 58, 33, .18);
}

/* Dark mode */
html[data-theme="dark"] .evtz-family-tree {
	--eft-card-bg:
		linear-gradient(180deg, rgba(24, 31, 40, .96), rgba(15, 20, 28, .94));
	--eft-card-border: rgba(255, 255, 255, .08);
	--eft-card-title: #f5f7fa;
	--eft-card-text: #c7d0da;
	--eft-card-muted: #8e9aa8;
	--eft-card-shadow: 0 18px 42px rgba(0, 0, 0, .42);
	--eft-card-hover: 0 24px 54px rgba(0, 0, 0, .52);
}

.evtz-family-tree *,
.evtz-family-tree *::before,
.evtz-family-tree *::after {
	box-sizing: border-box;
}

.evtz-family-tree .eft-shell {
	border: 1px solid var(--eft-border);
	border-radius: var(--radius, 24px);
	background:
		radial-gradient(circle at top left, rgba(240, 201, 135, .12), transparent 34rem),
		rgba(255, 255, 255, .075);
	box-shadow: var(--shadow, 0 24px 80px rgba(0, 0, 0, .35));
	overflow: hidden;
}

.evtz-family-tree .eft-toolbar {
	display: grid;
	grid-template-columns: minmax(260px, 1fr) auto auto;
	gap: 12px;
	align-items: center;
	padding: 14px;
	border-bottom: 1px solid var(--eft-border);
	background: rgba(2, 6, 23, .34);
	font-size: 12px;
}

html[data-theme="light"] .evtz-family-tree .eft-toolbar,
html:not([data-theme="dark"]) .evtz-family-tree .eft-toolbar {
	background:
		radial-gradient(circle at top left, rgba(208, 160, 109, .08), transparent 34rem),
		#f6efe3;
}

.evtz-family-tree .eft-search-box,
.evtz-family-tree .eft-actions,
.evtz-family-tree .eft-zoom-actions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	align-items: center;
}

.evtz-family-tree .eft-search-box input,
.evtz-family-tree .eft-actions button,
.evtz-family-tree .eft-actions select,
.evtz-family-tree .eft-search-box button,
.evtz-family-tree .eft-zoom-actions button {
	border: 1px solid var(--eft-border);
	background: rgba(15, 23, 42, .72);
	color: var(--eft-text);
	border-radius: 14px;
	padding: 10px 13px;
	cursor: pointer;
	outline: none;
	font: inherit;
}

.evtz-family-tree .eft-search-box input {
	min-width: min(100%, 360px);
	flex: 1;
	padding: 11px 13px;
	cursor: text;
}

html[data-theme="light"] .evtz-family-tree .eft-search-box input,
html[data-theme="light"] .evtz-family-tree .eft-actions button,
html[data-theme="light"] .evtz-family-tree .eft-actions select,
html[data-theme="light"] .evtz-family-tree .eft-search-box button,
html[data-theme="light"] .evtz-family-tree .eft-zoom-actions button,
html:not([data-theme="dark"]) .evtz-family-tree .eft-search-box input,
html:not([data-theme="dark"]) .evtz-family-tree .eft-actions button,
html:not([data-theme="dark"]) .evtz-family-tree .eft-actions select,
html:not([data-theme="dark"]) .evtz-family-tree .eft-search-box button,
html:not([data-theme="dark"]) .evtz-family-tree .eft-zoom-actions button {
	background: #ffffff;
	color: #25221d;
	border-color: rgba(123, 78, 44, .18);
}

.evtz-family-tree .eft-actions select option {
	background: #111827;
	color: #f8fafc;
}

html[data-theme="light"] .evtz-family-tree .eft-actions select option,
html:not([data-theme="dark"]) .evtz-family-tree .eft-actions select option {
	background: #ffffff;
	color: #25221d;
}

.evtz-family-tree .eft-search-box input:focus {
	border-color: var(--eft-amber);
	box-shadow: 0 0 0 4px rgba(240, 201, 135, .12);
}

.evtz-family-tree .eft-actions button:hover,
.evtz-family-tree .eft-actions select:hover,
.evtz-family-tree .eft-search-box button:hover,
.evtz-family-tree .eft-zoom-actions button:hover {
	background: var(--eft-surface-strong);
}

.evtz-family-tree .eft-view-actions {
	display: inline-flex;
	gap: 6px;
	padding: 4px;
	border: 1px solid var(--eft-border);
	border-radius: 16px;
	background: rgba(15, 23, 42, .52);
}

html[data-theme="light"] .evtz-family-tree .eft-view-actions,
html:not([data-theme="dark"]) .evtz-family-tree .eft-view-actions {
	background: rgba(255, 255, 255, .78);
}

.evtz-family-tree .eft-view-actions button {
	border: 0;
	background: transparent;
}


.evtz-family-tree .eft-actions button i,
.evtz-family-tree .eft-search-box button i {
	/*margin-right: 6px;*/
}

.evtz-family-tree .eft-zoom-actions button {
	width: 42px;
	height: 42px;
	padding: 0;
}

.evtz-family-tree .eft-zoom-label {
	min-width: 30px;
	text-align: center;
	color: var(--eft-muted);
	font-size: 13px;
	font-weight: 800;
}

.evtz-family-tree .eft-stage {
	position: relative;
	height: var(--eft-height);
	min-height: 420px;
	overflow: hidden;
	cursor: grab;
	padding: 42px 20px 220px;
	background:
		radial-gradient(circle at 50% 0%, rgba(200, 155, 87, .14), transparent 28rem),
		linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px),
		rgba(2, 6, 23, .42);
	background-size: auto, 34px 34px, 34px 34px, auto;
}

html[data-theme="light"] .evtz-family-tree .eft-stage,
html:not([data-theme="dark"]) .evtz-family-tree .eft-stage {
	background:
		radial-gradient(circle at 50% 0%, rgba(200, 155, 87, .12), transparent 28rem),
		linear-gradient(rgba(123, 78, 44, .045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(123, 78, 44, .045) 1px, transparent 1px),
		#f6efe3;
	background-size: auto, 34px 34px, 34px 34px, auto;
}

.evtz-family-tree .eft-stage.is-dragging {
	cursor: grabbing;
}

.evtz-family-tree .eft-canvas {
	position: absolute;
	top: 0;
	left: 0;
	transform-origin: 0 0;
}

.evtz-family-tree .eft-tree {
	min-width: 980px;
	padding: 0;
	text-align: center;
}

.evtz-family-tree .eft-tree ul {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: flex-start;
/*	gap: 18px;*/
	margin: 0;
	padding: 34px 0 0;
	list-style: none;
}

.evtz-family-tree .eft-tree > ul {
	padding-top: 0;
}

.evtz-family-tree .eft-tree li {
	position: relative;
	padding: 34px 8px 0;
	text-align: center;
}

.evtz-family-tree .eft-tree > ul > li {
	padding-top: 0;
}

.evtz-family-tree .eft-tree li::before,
.evtz-family-tree .eft-tree li::after {
	content: "";
	position: absolute;
	top: 0;
	width: 50%;
	height: 34px;
	border-top: 2px solid var(--eft-line);
}

.evtz-family-tree .eft-tree li::before {
	right: 50%;
}

.evtz-family-tree .eft-tree li::after {
	left: 50%;
	border-left: 2px solid var(--eft-line);
}

.evtz-family-tree .eft-tree li:only-child::before,
.evtz-family-tree .eft-tree li:only-child::after,
.evtz-family-tree .eft-tree > ul > li::before,
.evtz-family-tree .eft-tree > ul > li::after {
	display: none;
}

.evtz-family-tree .eft-tree li:first-child::before,
.evtz-family-tree .eft-tree li:last-child::after {
	border: 0 none;
}

.evtz-family-tree .eft-tree li:last-child::before {
	border-right: 2px solid var(--eft-line);
	border-radius: 0 18px 0 0;
}

.evtz-family-tree .eft-tree li:first-child::after {
	border-radius: 18px 0 0 0;
}

.evtz-family-tree .eft-tree ul ul::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	height: 34px;
	border-left: 2px solid var(--eft-line);
}

.evtz-family-tree .eft-tree-item.is-hidden-by-generation {
	display: none;
}

.evtz-family-tree .eft-person-node {
	position: relative;
	display: inline-flex;
	align-items: stretch;
	width: 250px;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	text-align: left;
}

.evtz-family-tree .eft-person-main {
	position: relative;
	font-family: "Open sans", Verdana, Tahoma, sans-serif;
	width: 100%;
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	border: 1px solid var(--eft-card-border);
	border-radius: 20px;
	padding: 13px 14px;
	background: var(--eft-card-bg);
	color: var(--eft-card-text);
	box-shadow: var(--eft-card-shadow);
	cursor: pointer;
	text-align: left;
	min-height: 94px;
	backdrop-filter: blur(10px);
	transition:
		transform .2s ease,
		box-shadow .2s ease,
		border-color .2s ease,
		background .2s ease;
	overflow: hidden;
}

.evtz-family-tree .eft-person-main:hover,
.evtz-family-tree .eft-person-node.is-active .eft-person-main {
	border-color: var(--eft-amber);
	box-shadow:
		0 0 0 4px rgba(240, 201, 135, .12),
		var(--eft-card-hover);
	transform: translateY(-2px);
}

.evtz-family-tree .eft-person-node.is-match .eft-person-main {
	border-color: #93c5fd;
	box-shadow:
		0 0 0 4px rgba(147, 197, 253, .16),
		var(--eft-card-hover);
}

.evtz-family-tree .eft-avatar {
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	border-radius: 16px;
	background: linear-gradient(135deg, var(--eft-gold), var(--eft-amber));
	color: #23170d;
	font-weight: 900;
	font-size: 19px;
	box-shadow: 0 10px 24px rgba(240, 201, 135, .2);
}

.evtz-family-tree .eft-avatar.has-photo,
.eft-modal-photo.has-photo {
	overflow: hidden;
	background: #f1f5f9;
}

.evtz-family-tree .eft-avatar.has-photo img,
.eft-modal-photo.has-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.evtz-family-tree .eft-person-copy {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.evtz-family-tree .eft-person-copy strong {
	font-size: 15px;
	line-height: 1.15;
	color: var(--eft-card-title);
}

.evtz-family-tree .eft-person-copy small,
.evtz-family-tree .eft-person-copy span {
	font-size: 12px;
	line-height: 1.2;
	color: var(--eft-card-muted);
}

.evtz-family-tree .eft-tree-toggle {
	position: absolute;
	left: 50%;
	bottom: -17px;
	transform: translateX(-50%);
	z-index: 2;
	width: 38px;
	height: 34px;
	border-radius: 999px;
	border: 1px solid rgba(231, 210, 176, .42);
	background: #111827;
	color: var(--eft-amber);
	font-weight: 900;
	cursor: pointer;
	box-shadow: 0 8px 20px rgba(0, 0, 0, .28);
}

html[data-theme="light"] .evtz-family-tree .eft-tree-toggle,
html:not([data-theme="dark"]) .evtz-family-tree .eft-tree-toggle {
	background: #ffffff;
	color: #7b4e2c;
	border-color: rgba(123, 78, 44, .24);
}

.evtz-family-tree .eft-tree-toggle span {
	position: absolute;
	right: -8px;
	top: -8px;
	min-width: 19px;
	height: 19px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--eft-gold);
	color: #23170d;
	font-size: 11px;
	line-height: 19px;
}

.evtz-family-tree.is-list-mode .eft-stage {
	padding: 20px;
	overflow: auto;
	cursor: default;
}

.evtz-family-tree.is-list-mode .eft-canvas {
	position: relative;
	inset: auto;
	width: 100%;
	transform: none !important;
}

.evtz-family-tree.is-list-mode .eft-tree {
	width: 100%;
	min-width: 0;
	text-align: left;
}

.evtz-family-tree .eft-tree.is-list-view ul,
.evtz-family-tree .eft-tree.is-list-view li {
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
}

.evtz-family-tree .eft-tree.is-list-view li::before,
.evtz-family-tree .eft-tree.is-list-view li::after,
.evtz-family-tree .eft-tree.is-list-view ul::before {
	display: none !important;
}

.evtz-family-tree .eft-list-roots,
.evtz-family-tree .eft-list-children {
	display: grid !important;
	gap: 8px;
}

.evtz-family-tree .eft-list-children {
	margin-top: 8px !important;
}

.evtz-family-tree .eft-list-row {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr);
	gap: 8px;
	align-items: stretch;
	margin-left: calc((var(--level) - 1) * 22px);
}

.evtz-family-tree .eft-list-toggle,
.evtz-family-tree .eft-list-person {
	border: 1px solid var(--eft-card-border);
	background: var(--eft-card-bg);
	color: var(--eft-card-text);
	border-radius: 14px;
	cursor: pointer;
}

.evtz-family-tree .eft-list-toggle {
	width: 36px;
	min-height: 54px;
	color: var(--eft-amber);
}

.evtz-family-tree .eft-list-toggle:disabled {
	cursor: default;
	opacity: .35;
}

.evtz-family-tree .eft-list-person {
	display: grid;
	grid-template-columns: 92px minmax(170px, .9fr) minmax(150px, .8fr) minmax(180px, 1fr);
	gap: 12px;
	align-items: center;
	padding: 12px 14px;
	text-align: left;
	transition: border-color .16s ease, background .16s ease, transform .16s ease;
}

.evtz-family-tree .eft-list-person:hover,
.evtz-family-tree .eft-list-item.is-active > .eft-list-row .eft-list-person {
	border-color: var(--eft-amber);
	background: var(--eft-surface-strong);
	transform: translateY(-1px);
}

.evtz-family-tree .eft-list-item.is-match > .eft-list-row .eft-list-person {
	border-color: #93c5fd;
	box-shadow: 0 0 0 3px rgba(147, 197, 253, .14);
}

.evtz-family-tree .eft-list-code {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .04em;
	color: var(--eft-amber);
}

.evtz-family-tree .eft-list-person strong {
	font-size: 14px;
	line-height: 1.2;
	color: var(--eft-card-title);
}

.evtz-family-tree .eft-list-person small,
.evtz-family-tree .eft-list-person span {
	font-size: 12px;
	line-height: 1.25;
	color: var(--eft-card-muted);
}

.evtz-family-tree .eft-shell.is-maximized {
	position: fixed;
	inset: 12px;
	z-index: 4500;
	border-radius: 22px;
}

.evtz-family-tree .eft-shell.is-maximized .eft-stage {
	height: calc(100vh - 104px);
}

body.eft-tree-is-maximized {
	overflow: hidden;
}

.eft-person-overlay {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 22px;
	background: rgba(2, 6, 23, .74);
	backdrop-filter: blur(10px);
}

.eft-person-overlay.is-open {
	display: flex;
}

body.eft-modal-is-open {
	overflow: hidden;
}

.eft-person-modal {
	position: relative;
	width: min(760px, 100%);
	max-height: min(82vh, 780px);
	overflow: auto;
	border: 1px solid rgba(231, 210, 176, .26);
	border-radius: 26px;
	padding: 26px;
	background:
		radial-gradient(circle at top left, rgba(240, 201, 135, .14), transparent 24rem),
		rgba(15, 23, 42, .96);
	box-shadow: 0 28px 90px rgba(0, 0, 0, .46);
	color: #f8fafc;
}

.eft-modal-close {
	position: sticky;
	top: 0;
	float: right;
	z-index: 2;
	width: 42px;
	height: 42px;
	margin: -6px -6px 10px 14px;
	border: 1px solid rgba(231, 210, 176, .28);
	border-radius: 999px;
	background: rgba(15, 23, 42, .92);
	color: #f8fafc;
	cursor: pointer;
}

.eft-person-modal h3 {
	margin: 6px 0 14px;
	font-size: clamp(26px, 4vw, 40px);
	line-height: 1.05;
	color: #e7d2b0;
}

.eft-modal-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 16px;
}

.eft-modal-meta span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 10px;
	border: 1px solid rgba(231, 210, 176, .18);
	border-radius: 999px;
	background: rgba(255, 255, 255, .055);
	color: #a7b2c3;
	font-size: 12px;
}

.eft-modal-header-person {
	display: flex;
	justify-content: center;
	margin: 0 0 16px;
}

.eft-modal-photo {
	width: 112px;
	height: 112px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 42px;
	background: linear-gradient(135deg, #c89b57, #f0c987);
	color: #23170d;
}

.eft-modal-facts {
	display: grid;
	gap: 8px;
	margin-bottom: 16px;
}

.eft-modal-facts p,
.eft-modal-notes p,
.eft-modal-contact p {
	margin: 0;
	color: #a7b2c3;
	line-height: 1.62;
}

.eft-modal-facts strong,
.eft-modal-notes strong,
.eft-modal-contact strong {
	color: #e7d2b0;
}

.eft-modal-notes,
.eft-modal-contact {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid rgba(231, 210, 176, .16);
}

.eft-panel-action {
	margin-top: 16px;
	border: 0;
}

.evtz-family-tree .eft-loading,
.evtz-family-tree .eft-error {
	padding: 34px;
	color: var(--eft-muted);
}

.evtz-family-tree .eft-error {
	color: #fca5a5;
}

@media (max-width: 980px) {
	.evtz-family-tree .eft-toolbar {
		grid-template-columns: 1fr;
		align-items: stretch;
	}

	.evtz-family-tree .eft-search-box,
	.evtz-family-tree .eft-actions,
	.evtz-family-tree .eft-zoom-actions {
		width: 100%;
	}
}

@media (max-width: 780px) {
	.evtz-family-tree .eft-stage {
		padding: 24px 12px 230px;
	}

	.evtz-family-tree .eft-tree {
		min-width: 760px;
	}

	.evtz-family-tree .eft-person-node {
		width: 220px;
	}

	.evtz-family-tree .eft-person-main {
		grid-template-columns: 38px minmax(0, 1fr);
		padding: 12px;
	}

	.evtz-family-tree .eft-avatar {
		width: 38px;
		height: 38px;
		border-radius: 14px;
	}

	.evtz-family-tree .eft-list-person {
		grid-template-columns: 1fr;
		gap: 5px;
	}

	.evtz-family-tree .eft-list-row {
		margin-left: calc((var(--level) - 1) * 12px);
	}

	.eft-person-overlay {
		padding: 10px;
		align-items: stretch;
	}

	.eft-person-modal {
		max-height: calc(100vh - 20px);
		padding: 20px;
		border-radius: 20px;
	}
	
	.eft-generation-select {
		display: none;
	}
}


/* =========================================================
   Correção definitiva — light/dark real para a árvore
   Colocar este bloco no FINAL do arquivo CSS da genealogia.
   Cobre html[data-theme], body[data-theme] e fallback sem tema.
========================================================= */

/* Light mode */
html[data-theme="light"] .evtz-family-tree,
body[data-theme="light"] .evtz-family-tree,
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .evtz-family-tree
{
	--eft-text: #25221d;
	--eft-muted: #6f675d;
	--eft-border: rgba(123, 78, 44, .18);
	--eft-surface-strong: rgba(123, 78, 44, .08);
	--eft-node-bg: #ffffff;
	--eft-line: rgba(123, 78, 44, .24);
	--eft-card-bg: linear-gradient(180deg, #ffffff, #f8f4ec);
	--eft-card-border: rgba(123, 78, 44, .18);
	--eft-card-title: #2d241c;
	--eft-card-text: #51483f;
	--eft-card-muted: #776b5f;
	--eft-card-shadow: 0 14px 34px rgba(88, 58, 33, .13);
	--eft-card-hover: 0 18px 44px rgba(88, 58, 33, .20);
}

/* Dark mode */
html[data-theme="dark"] .evtz-family-tree,
body[data-theme="dark"] .evtz-family-tree
{
	--eft-text: #f8fafc;
	--eft-muted: #a7b2c3;
	--eft-border: rgba(255, 255, 255, .14);
	--eft-surface-strong: rgba(255, 255, 255, .13);
	--eft-node-bg: rgba(15, 23, 42, .82);
	--eft-line: rgba(231, 210, 176, .34);
	--eft-card-bg: linear-gradient(180deg, rgba(24, 31, 40, .96), rgba(15, 20, 28, .94));
	--eft-card-border: rgba(255, 255, 255, .08);
	--eft-card-title: #f5f7fa;
	--eft-card-text: #c7d0da;
	--eft-card-muted: #8e9aa8;
	--eft-card-shadow: 0 18px 42px rgba(0, 0, 0, .42);
	--eft-card-hover: 0 24px 54px rgba(0, 0, 0, .52);
}

/* Shell, toolbar e palco no light */
html[data-theme="light"] .evtz-family-tree .eft-shell,
body[data-theme="light"] .evtz-family-tree .eft-shell,
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .evtz-family-tree .eft-shell
{
	background:
		radial-gradient(circle at top left, rgba(208, 160, 109, .10), transparent 34rem),
		#ffffff;
	border-color: rgba(123, 78, 44, .16);
	box-shadow: 0 18px 50px rgba(48, 34, 21, .13);
}

html[data-theme="light"] .evtz-family-tree .eft-toolbar,
body[data-theme="light"] .evtz-family-tree .eft-toolbar,
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .evtz-family-tree .eft-toolbar
{
	background:
		radial-gradient(circle at top left, rgba(208, 160, 109, .08), transparent 34rem),
		#f6efe3;
	border-bottom-color: rgba(123, 78, 44, .16);
}

html[data-theme="light"] .evtz-family-tree .eft-stage,
body[data-theme="light"] .evtz-family-tree .eft-stage,
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .evtz-family-tree .eft-stage
{
	background:
		radial-gradient(circle at 50% 0%, rgba(200, 155, 87, .12), transparent 28rem),
		linear-gradient(rgba(123, 78, 44, .045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(123, 78, 44, .045) 1px, transparent 1px),
		#f6efe3;
	background-size: auto, 34px 34px, 34px 34px, auto;
}

/* Shell, toolbar e palco no dark */
html[data-theme="dark"] .evtz-family-tree .eft-shell,
body[data-theme="dark"] .evtz-family-tree .eft-shell
{
	background:
		radial-gradient(circle at top left, rgba(240, 201, 135, .10), transparent 34rem),
		#0f172a;
	border-color: rgba(255, 255, 255, .14);
	box-shadow: 0 24px 80px rgba(0, 0, 0, .42);
}

html[data-theme="dark"] .evtz-family-tree .eft-toolbar,
body[data-theme="dark"] .evtz-family-tree .eft-toolbar
{
	background:
		radial-gradient(circle at top left, rgba(240, 201, 135, .06), transparent 34rem),
		#111827;
	border-bottom-color: rgba(255, 255, 255, .14);
}

html[data-theme="dark"] .evtz-family-tree .eft-stage,
body[data-theme="dark"] .evtz-family-tree .eft-stage
{
	background:
		radial-gradient(circle at 50% 0%, rgba(200, 155, 87, .12), transparent 28rem),
		linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px),
		#0b1220;
	background-size: auto, 34px 34px, 34px 34px, auto;
}

/* Inputs, botões e dropdown */
html[data-theme="light"] .evtz-family-tree .eft-search-box input,
html[data-theme="light"] .evtz-family-tree .eft-actions button,
html[data-theme="light"] .evtz-family-tree .eft-actions select,
html[data-theme="light"] .evtz-family-tree .eft-search-box button,
html[data-theme="light"] .evtz-family-tree .eft-zoom-actions button,
body[data-theme="light"] .evtz-family-tree .eft-search-box input,
body[data-theme="light"] .evtz-family-tree .eft-actions button,
body[data-theme="light"] .evtz-family-tree .eft-actions select,
body[data-theme="light"] .evtz-family-tree .eft-search-box button,
body[data-theme="light"] .evtz-family-tree .eft-zoom-actions button,
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .evtz-family-tree .eft-search-box input,
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .evtz-family-tree .eft-actions button,
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .evtz-family-tree .eft-actions select,
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .evtz-family-tree .eft-search-box button,
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .evtz-family-tree .eft-zoom-actions button
{
	background: #ffffff/* !important*/;
	color: #25221d !important;
	border-color: rgba(123, 78, 44, .18) !important;
}

html[data-theme="light"] .evtz-family-tree .eft-actions select option,
body[data-theme="light"] .evtz-family-tree .eft-actions select option,
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .evtz-family-tree .eft-actions select option
{
	background: #ffffff !important;
	color: #25221d !important;
}

/* Cards da árvore */
html[data-theme="light"] .evtz-family-tree .eft-tree .eft-person-node .eft-person-main,
body[data-theme="light"] .evtz-family-tree .eft-tree .eft-person-node .eft-person-main,
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .evtz-family-tree .eft-tree .eft-person-node .eft-person-main
{
	background: linear-gradient(180deg, #ffffff, #f8f4ec) !important;
	color: #51483f !important;
	border-color: rgba(123, 78, 44, .18) !important;
	box-shadow: 0 14px 34px rgba(88, 58, 33, .13) !important;
}

html[data-theme="light"] .evtz-family-tree .eft-tree .eft-person-node .eft-person-main:hover,
html[data-theme="light"] .evtz-family-tree .eft-tree .eft-person-node.is-active .eft-person-main,
body[data-theme="light"] .evtz-family-tree .eft-tree .eft-person-node .eft-person-main:hover,
body[data-theme="light"] .evtz-family-tree .eft-tree .eft-person-node.is-active .eft-person-main,
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .evtz-family-tree .eft-tree .eft-person-node .eft-person-main:hover,
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .evtz-family-tree .eft-tree .eft-person-node.is-active .eft-person-main
{
	border-color: rgba(208, 160, 109, .70) !important;
	box-shadow:
		0 0 0 4px rgba(208, 160, 109, .14),
		0 18px 44px rgba(88, 58, 33, .20) !important;
}

/* Textos dos cards */
html[data-theme="light"] .evtz-family-tree .eft-person-copy strong,
body[data-theme="light"] .evtz-family-tree .eft-person-copy strong,
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .evtz-family-tree .eft-person-copy strong
{
	color: #2d241c !important;
}

html[data-theme="light"] .evtz-family-tree .eft-person-copy span,
html[data-theme="light"] .evtz-family-tree .eft-person-copy small,
body[data-theme="light"] .evtz-family-tree .eft-person-copy span,
body[data-theme="light"] .evtz-family-tree .eft-person-copy small,
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .evtz-family-tree .eft-person-copy span,
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .evtz-family-tree .eft-person-copy small
{
	color: #6f675d !important;
}

/* Botão expandir/recolher */
html[data-theme="light"] .evtz-family-tree .eft-tree-toggle,
body[data-theme="light"] .evtz-family-tree .eft-tree-toggle,
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .evtz-family-tree .eft-tree-toggle
{
	background: #ffffff !important;
	color: #7b4e2c !important;
	border-color: rgba(123, 78, 44, .24) !important;
}

/* Lista */
html[data-theme="light"] .evtz-family-tree .eft-list-toggle,
html[data-theme="light"] .evtz-family-tree .eft-list-person,
body[data-theme="light"] .evtz-family-tree .eft-list-toggle,
body[data-theme="light"] .evtz-family-tree .eft-list-person,
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .evtz-family-tree .eft-list-toggle,
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .evtz-family-tree .eft-list-person
{
	background: linear-gradient(180deg, #ffffff, #f8f4ec) !important;
	color: #51483f !important;
	border-color: rgba(123, 78, 44, .18) !important;
}

html[data-theme="light"] .evtz-family-tree .eft-list-person strong,
body[data-theme="light"] .evtz-family-tree .eft-list-person strong,
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .evtz-family-tree .eft-list-person strong
{
	color: #2d241c !important;
}

html[data-theme="light"] .evtz-family-tree .eft-list-person span,
html[data-theme="light"] .evtz-family-tree .eft-list-person small,
body[data-theme="light"] .evtz-family-tree .eft-list-person span,
body[data-theme="light"] .evtz-family-tree .eft-list-person small,
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .evtz-family-tree .eft-list-person span,
html:not([data-theme="dark"]) body:not([data-theme="dark"]) .evtz-family-tree .eft-list-person small
{
	color: #6f675d !important;
}

/* Dark explícito para evitar herança do light */
html[data-theme="dark"] .evtz-family-tree .eft-tree .eft-person-node .eft-person-main,
body[data-theme="dark"] .evtz-family-tree .eft-tree .eft-person-node .eft-person-main
{
	background: linear-gradient(180deg, rgba(24, 31, 40, .96), rgba(15, 20, 28, .94)) !important;
	color: #c7d0da !important;
	border-color: rgba(255, 255, 255, .08) !important;
	box-shadow: 0 18px 42px rgba(0, 0, 0, .42) !important;
}

html[data-theme="dark"] .evtz-family-tree .eft-person-copy strong,
body[data-theme="dark"] .evtz-family-tree .eft-person-copy strong
{
	color: #f5f7fa !important;
}

html[data-theme="dark"] .evtz-family-tree .eft-person-copy span,
html[data-theme="dark"] .evtz-family-tree .eft-person-copy small,
body[data-theme="dark"] .evtz-family-tree .eft-person-copy span,
body[data-theme="dark"] .evtz-family-tree .eft-person-copy small
{
	color: #8e9aa8 !important;
}
.evtz-family-tree .eft-view-actions button.is-active {
	background: linear-gradient(135deg, var(--eft-gold), var(--eft-amber)) !important;
	color: #23170d;
}

.eft-search-box {
	position: relative;
	width: 100%;
}

.eft-search-box input {
	width: 100%;
	padding-right: 48px;
}

.eft-search-box button {
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	border: 0 !important;
	background: transparent;
	padding: 4px;
	margin: 0;
	z-index: 2;
}
.evtz-family-tree .eft-shell.is-maximized button[data-eft-maximize] 
{
	background: var(--eft-surface-strong);	
}

@media (max-width: 768px)
{
	.evtz-family-tree .eft-shell.is-maximized
	{
		top: 0;
		left: 0;
		right: 0;

		bottom: calc(
			78px +
			env(safe-area-inset-bottom)
		);

		border-radius: 0;
	}
}
.eft-modal-tabs {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	margin: 16px 0 12px;
	border-bottom: 1px solid var(--primary-rgba-20);
}

.eft-modal-tabs button {
	border: 0;
	background: transparent;
	padding: 8px 10px;
	cursor: pointer;
	font-weight: 600;
	color: var(--primary-200);
	border-bottom: 2px solid transparent;
}

.eft-modal-tabs button.is-active {
	color: var(--primary-strong);
    background: var(--line);
    border-radius: 10px;
}

.eft-modal-tab-panel {
	display: none;
}

.eft-modal-tab-panel.is-active {
	display: block;
}