body { 
    font-family: 'Inter', sans-serif; 
    background-color: #f0f4f0; 
}

.node circle { 
    fill: #fff; 
    stroke-width: 3px; 
    cursor: pointer; 
    transition: all 0.3s; 
}

.node circle:hover { 
    r: 25px; 
    stroke-width: 5px; 
}

.node text { 
    font-size: 10px; 
    font-weight: 700; 
    fill: #064e3b; 
}

.node .spouse-text { 
    font-size: 9px; 
    fill: #db2777; 
    font-weight: 500; 
}

.link { 
    fill: none; 
    stroke: #cbd5e1; 
    stroke-width: 1.5px; 
    opacity: 0.6; 
}

.link-maternal { 
    fill: none; 
    stroke: #fda4af; 
    stroke-width: 1.5px; 
    stroke-dasharray: 4,2; 
    opacity: 0.8; 
}

.admin-ui { 
    display: none; 
}

.is-admin .admin-ui { 
    display: block; 
}

.custom-scrollbar::-webkit-scrollbar { 
    width: 5px; 
}

.custom-scrollbar::-webkit-scrollbar-thumb { 
    background: #10b981; 
    border-radius: 10px; 
}

.node-img { 
    clip-path: circle(18px at 18px 18px); 
    object-fit: cover; 
}

.card-zoom:hover { 
    transform: scale(1.02); 
}