 
        /* Chart Container */
        .chart-container {
            position: relative;
            height: 600px;
            width: 100%;
            margin: 2rem 0;
            background-color: white;
            border-radius: 8px;
            border: 1px solid var(--border-color);
            padding: 1.5rem;
            overflow: hidden;
        }
        
        #relationship-container {
            width: 100%;
            height: 100%;
            position: relative;
        }
        
        /* Data Input */
        .data-entry {
            display: flex;
            gap: 1rem;
            margin-bottom: 1rem;
            align-items: center;
        }
        
        .color-picker {
            width: 40px;
            height: 40px;
            border: 1px solid var(--border-color);
            border-radius: 4px;
            cursor: pointer;
        }
        
        .data-actions {
            display: flex;
            gap: 0.5rem;
        }
        
        .data-action-btn {
            width: 36px;
            height: 36px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.3s;
        }
		.initial-diagram-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    height: 100%;
    text-align: center;
    color: var(--text-muted);
}

.generate-buttons {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}
        .initial-diagram-placeholder i {
    font-size: 5rem;
    margin-bottom: 1.5rem;
    color: var(--light-gray);
}
        .add-btn {
            background-color: var(--success-color);
            color: white;
        }
        
        .remove-btn {
            background-color: #dc3545;
            color: white;
        }
        
        .data-table {
            width: 100%;
            border-collapse: collapse;
            margin: 1.5rem 0;
        }
        
        .data-table th, .data-table td {
            padding: 0.75rem;
            text-align: center;
            border-bottom: 1px solid var(--border-color);
        }
        
        .data-table th {
            background-color: var(--light-gray);
            font-weight: 600;
        }
        
        .data-table tr:hover {
            background-color: rgba(44, 125, 160, 0.05);
        }
        
        /* Tab Navigation */
        .data-tabs {
            margin-bottom: 1.5rem;
        }
        
        .nav-tabs .nav-item {
            margin-bottom: -1px;
        }
        
        .nav-tabs .nav-link {
            border: 1px solid transparent;
            border-radius: 6px 6px 0 0;
            padding: 0.75rem 1.5rem;
            font-weight: 600;
            color: var(--text-muted);
            background-color: var(--light-gray);
        }
        
        .nav-tabs .nav-link.active {
            color: var(--primary-color);
            background-color: white;
            border-color: var(--border-color) var(--border-color) transparent;
        }
        
        .tab-content {
            padding: 1.5rem;
            border: 1px solid var(--border-color);
            border-top: none;
            border-radius: 0 0 6px 6px;
            background-color: white;
        }
        
        .file-import-content {
            display: flex;
            gap: 1rem;
        }
        
        .file-import-input {
            flex: 1;
        }
        
        .file-import-example {
            flex: 1;
            background-color: var(--light-gray);
            border-radius: 6px;
            padding: 1rem;
            border: 1px solid var(--border-color);
            font-family: monospace;
            font-size: 0.9rem;
            white-space: pre;
            overflow-x: auto;
        }
        
        /* Customization Options */
        .customization-options {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 1.5rem;
            margin: 1.5rem 0;
        }
        
        .option-group {
            background-color: var(--light-gray);
            border-radius: 8px;
            padding: 1.5rem;
        }
        
        .option-title {
            font-weight: 600;
            margin-bottom: 1rem;
            color: var(--primary-color);
            padding-bottom: 0.5rem;
            border-bottom: 1px solid var(--border-color);
        }
        
        /* Content Sections */
        .section-title {
            font-weight: 600;
            margin-bottom: 1rem;
            color: var(--primary-color);
            padding-bottom: 0.5rem;
            border-bottom: 1px solid var(--border-color);
        }
        
        .usage-step {
            display: flex;
            margin-bottom: 1.5rem;
            align-items: flex-start;
        }
        
        .step-number {
            width: 28px;
            height: 28px;
            background-color: var(--primary-color);
            color: white;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-right: 1rem;
            flex-shrink: 0;
            font-weight: 600;
            font-size: 0.9rem;
        }
        
        .info-box {
            background-color: rgba(44, 125, 160, 0.05);
            border-left: 3px solid var(--primary-color);
            padding: 1rem;
            border-radius: 0 4px 4px 0;
            margin: 1.5rem 0;
        }
     
        /* Relationship Diagram Styles */
        .node circle {
            fill: #fff;
            stroke: var(--primary-color);
            stroke-width: 3px;
        }
        
        .node text {
            font: 14px sans-serif;
            font-weight: 500;
        }
        
        .node {
            cursor: pointer;
        }
        
        .link {
            fill: none;
            stroke: #ccc;
            stroke-width: 2px;
        }
        
        .node.selected circle {
            stroke: #ff9900;
            stroke-width: 3px;
        }
        
        .node.root circle {
            fill: var(--primary-color);
        }
        
        .node.root text {
            fill: white;
            font-weight: bold;
        }
        
        /* Controls for zoom */
        .chart-controls {
            position: absolute;
            top: 10px;
            right: 10px;
            z-index: 10;
            display: flex;
            gap: 5px;
        }
        
        .chart-controls button {
            width: 36px;
            height: 36px;
            border-radius: 50%;
            background: white;
            border: 1px solid #ddd;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }
    