/* Generated Container Styling */
        .org-chart-wrapper {
            margin-bottom: 4rem;
            width: 100%;
        }

        .chart-title {
            text-align: center;
            font-size: 1.5rem;
            font-weight: bold;
            color: #1e293b;
            margin-bottom: 1rem;
            border-bottom: 2px solid #e2e8f0;
            padding-bottom: 0.5rem;
        }

        .chart-viewer {
            width: 100%;
            min-height: 500px;
            background: white;
            border: 1px solid #e2e8f0;
            border-radius: 8px;
            position: relative;
            overflow: hidden;
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
            direction: ltr; /* Canvas coordinate system is LTR */
            transition: height 0.3s ease; /* Smooth height adjustment */
        }

        .chart-content {
            position: absolute;
            top: 0;
            left: 0;
            transform-origin: 0 0;
            will-change: transform;
        }

        .svg-layer {
            position: absolute;
            top: 0;
            left: 0;
            pointer-events: none;
            z-index: 1;
        }

        /* --- Node Styling --- */
        .orgnode {
            position: absolute;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            z-index: 10;
            box-sizing: border-box;
            direction: rtl;
            transition: all 0.3s ease;
            padding: 8px;
        }

        /* Node Types */
        .type-header { background: linear-gradient(to bottom, #4a76ac, #3b5d8a); color: white; border: 1px solid #2d4a6e; }
        .type-branch { background: white; color: #334155; border: 1px solid #cbd5e1; }
        .type-item   { background: linear-gradient(to bottom, #bfdbfe, #93c5fd); color: #1e3a8a; border: 1px solid #60a5fa; }
        
        .type-spacer {
            visibility: hidden;
            border: none;
            background: transparent;
            box-shadow: none;
            height: 0;
            padding: 0;
        }

        /* Node Content */
        .node-title { font-weight: 700; font-size: 0.9rem; margin-bottom: 4px; }
        
        .orgnode ul.internal-list {
            text-align: right; font-size: 0.75rem; width: 100%; margin: 6px 0 0 0; padding: 6px 12px 0 0;
            border-top: 1px solid rgba(0,0,0,0.1); color: #1e3a8a; font-weight: 500; list-style: none;
        }
        .orgnode ul.internal-list li { position: relative; margin-bottom: 2px; }
        .orgnode ul.internal-list li::before { content: "•"; position: absolute; right: -12px; color: #3b82f6; }

        /* Connectors */
        .connector { fill: none; stroke: #4a76ac; stroke-width: 1.5; }
        .connector-dot { fill: #4a76ac; }

        /* Hide the source lists initially */
        .org-source-data { display: none; }