        :root {
            --org-header: #A8443B;          
            --accent-level1: #2C3E50;
            --accent-level2: #3498db;
            --accent-purple: #9b59b6;
            --accent-mint: #059669;
            --accent-project: #d97706;
            --line-color: #a0a0a0;
            --box-width: 350px;
            --box-width-sm: 240px;
            --box-min-height: 80px;
        }


        .font-label-caps {
            font-size: 13px;
            font-weight: 700;
            line-height: 1.2;
            margin-bottom: 0;
            text-transform: uppercase;
            letter-spacing: 0.6px;
            word-spacing: 1.2px;
        }

        /* --- Εξωτερικό Wrapper --- */
        .org-chart-wrapper {
            width: 100%;
            max-width: 1320px;
            margin: 0 auto;
        }


        .org-main-header {
            display: flex;
            align-items: center;
            gap: 25px;
            width: 100%;
            margin-top: 10px;
            margin-bottom: 10px;
        }


        .org-main-header .org-header-title {
            margin: 0;
            font-size: 1.7rem;
            font-weight: 700;
            color: #000;
        }

        .org-main-header::before {
            width: 60px;
        }

        .org-main-header::before,
        .org-main-header::after {
            content: "";
            height: 8px;
            background-color: var(--org-header);
        }

        .org-main-header::after {
            flex-grow: 1;
        }

        /* --- Desktop Chart container --- */
        @media (min-width: 992px) {
            .desktop-chart {
                position: relative;
               margin: 0 auto;
               width: 1061px;
               height: 1060px; 
            }

            .org-box {
                padding: 10px 10px;
                text-align: center;
                position: absolute;
                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: center;
                min-height: var(--box-min-height);
                z-index: 10;
                background-color: #f4f4f4;
                border: 1px solid #e1e4e8;
                border-radius: 8px;
                box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.2);
                line-height: 1.3;
                width: var(--box-width);
            }

            .org-box p {
                font-size: 11px;
                margin-top: 0.25rem;
                margin-bottom: 0;
                color: #555555;
            }

            .bg-level1 {
                border-top: 4px solid var(--accent-level1);
            }

            .bg-level2 {
                border-top: 4px solid var(--accent-level2);
            }

            .bg-purple {
                border-top: 4px solid var(--accent-purple);
            }

            .bg-mint {
                border-top: 4px solid var(--accent-mint);
            }

            .bg-project {
                border-top: 4px solid var(--accent-project);
            }


            /* Lines */
            .v-line {
                position: absolute;
                width: 1px;
                background-color: var(--line-color);
                z-index: 1;
            }

            .h-line {
                position: absolute;
                height: 1px;
                background-color: var(--line-color);
                z-index: 1;
            }

            .dashed-line {
                position: absolute;
                width: 1px;
                border-left: 1px dashed var(--line-color);
                z-index: 1;
            }

            .v-line,
            .h-line,
            .dashed-line {
                filter: drop-shadow(2px 2px 3px rgba(0, 0, 0, 0.6));
            }


            /* Κεντρικός άξονας */
            .box-gen-syn {
                top: 0;
                left: calc(var(--box-width)/2 + 40px);
            }

            .main-v-line {
                top: 80px;
                left: calc(var(--box-width) + 40px);
                height: 620px;
            }

            .l2-h-line {
                top: 40px;
                left: calc(var(--box-width)*1.5 + 41px);
                width: 376px;
            }

            .l2-v-line-r {
                top: 40px;
                left: calc(var(--box-width)*2 + 241px);
                height: 80px;
            }

            .box-ds {
                top: 120px;
                left: calc(var(--box-width)/2 + 40px);
            }

            /* Επιτροπή */
            .box-epitropi {
                top: 120px;
                left: calc(var(--box-width)*2 + 121px);
                width: 240px;

            }

            .epitropi-dashed {
                top: 200px;
                left: calc(var(--box-width)*2 + 241px);
                height: 810px;
            }

            .box-gen-dir {
                top: 240px;
                left: calc(var(--box-width)/2 + 40px);
            }

            .l3-h-line {
                top: 280px;
                left: calc(var(--box-width)*1.5 + 42px);
                width: 40px;
            }

            /* Συμβούλιο */
            .box-symb {
                top: 240px;
                left: calc(var(--box-width)*1.5 + 81px);
                width: 180px;
            }

            /* Support Functions */
            .supp-l-base {
                left: 0;
                width: var(--box-width);
            }

            .supp-r-base {
                left: calc(var(--box-width) + 81px);
                width: var(--box-width);
            }

            .box-poiotita {
                top: 360px;
            }

            .box-grammateia {
                top: 360px;
            }

            .supp-h-line-1l {
                top: 400px;
                left: calc(var(--box-width) + 1px);
                width: 40px;
            }

            .supp-h-line-1r {
                top: 400px;
                left: calc(var(--box-width) + 41px);
                width: 40px;
            }

            .box-prosopikou {
                top: 480px;
            }

            .box-promitheion {
                top: 480px;
            }

            .supp-h-line-2l {
                top: 520px;
                left: calc(var(--box-width) + 1px);
                width: 40px;
            }

            .supp-h-line-2r {
                top: 520px;
                left: calc(var(--box-width) + 41px);
                width: 40px;
            }

            .box-asfaleias {
                top: 600px;
            }

            .box-nomiki {
                top: 600px;
            }

            .supp-h-line-3l {
                top: 640px;
                left: calc(var(--box-width) + 1px);
                width: 40px;
            }

            .supp-h-line-3r {
                top: 640px;
                left: calc(var(--box-width) + 41px);
                width: 40px;
            }

            /* Bottom Fork */
            .bot-h-line {
                top: 700px;
                left: calc(var(--box-width)/2 + 1px);
                width: calc(var(--box-width) + 81px);
            }

            .bot-v-line-l {
                top: 701px;
                left: calc(var(--box-width)/2 + 1px);
                height: 140px;
            }

            .bot-v-line-r {
                top: 701px;
                left: calc(var(--box-width)*1.5 + 81px);
                height: 20px;
            }

            /* Mint Boxes */
            .box-dioik-oikon {
                top: 840px;
                left: 0;
            }

            .box-dioik-ergon {
                top: 720px;
                left: calc(var(--box-width) + 81px);

            }

            .mint-v-line {
                top: 800px;
                left: calc(var(--box-width)*1.5 + 81px);
                height: 40px;
            }

            .box-ylopoioisis {
                top: 840px;
                left: calc(var(--box-width) + 81px);
            }

            /* Purple Bottom Boxes */
            .box-omades {
                top: 960px;
                left: 0;
                width: calc(var(--box-width)*2 + 81px);
            }

            .bot-v-line-l-long {
                top: 920px;
                left: calc(var(--box-width)/2 + 1px);
                height: 40px;
            }

            .bot-v-line-r-long {
                top: 920px;
                left: calc(var(--box-width)*1.5 + 81px);
                height: 40px;
            }

            /* Ειδική Ομάδα */
            .box-eidiki {
                top: 960px;
                left: calc(var(--box-width)*2 + 121px);
                width: 240px;
            }
        }

        /* --- Mobile Tree & Accordion Styling --- */
        @media (max-width: 991.98px) {
            .mobile-list {
                padding: 1rem 0;
                overflow-x: hidden;
            }

            .org-box-m {
                padding: 1.1rem;
                margin-bottom: 0;
                border-left: 6px solid;
                border-radius: 6px;
                background: #f9f9f9;
                box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
                position: relative;
                z-index: 2;
                transition: background-color 0.2s ease;
            }

            .org-box-m.has-children {
                cursor: pointer;
            }

            .org-box-m.has-children:hover {
                background-color: #f1f1f1;
            }


            .org-box-m[aria-expanded="true"] .toggle-icon::before {
                content: '-';
                color: #dc3545;
            }

            .org-box-m[aria-expanded="false"] .toggle-icon::before {
                content: '+';
                color: #095e37;
            }


            .bg-level1-m {
                border-left-color: var(--accent-level1);
            }

            .bg-level2-m {
                border-left-color: var(--accent-level2);
            }

            .bg-purple-m {
                border-left-color: var(--accent-purple);
            }

            .bg-mint-m {
                border-left-color: var(--accent-mint);
            }

            .bg-project-m {
                border-left-color: var(--accent-project);
            }

            /* Εικονίδια +/- με χρωματισμό */
            .toggle-icon {
                font-size: 20px;
                font-weight: 500;
                line-height: 1;
                font-family: monospace;
                /* ΝΕΑ ΣΤΟΙΧΕΙΑ ΓΙΑ ΤΟ ΚΥΚΛΑΚΙ */
                display: flex;
                align-items: center;
                justify-content: center;
                width: 25px;
                height: 25px;
                background-color: #ffffff;
                border-radius: 50%;
                box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);

                transition: color 0.3s ease, transform 0.3s ease;
            }

            .org-tree,
            .org-tree ul {
                list-style: none;
                margin: 0;
                padding: 0;
            }

            .org-tree ul {
                padding-left: 2rem;
                position: relative;
            }

            .org-tree li {
                position: relative;
                padding-top: 0.6rem;
                padding-bottom: 0.6rem;
            }

            /* ΔΙΟΡΘΩΣΗ: Η κάθετη γραμμή πάει πιο ψηλά για να μη φαίνεται κενό με το parent box */
            .org-tree li::before {
                content: '';
                position: absolute;
                top: -2.5rem;
                left: -1rem;
                bottom: 0;
                width: 1px;
                background-color: var(--line-color);
                z-index: 1;
            }

            /* ΔΙΟΡΘΩΣΗ: Η οριζόντια γραμμή μπαίνει βαθιά μέσα στο box για να κρυφτεί πίσω από το border-radius */
            .org-tree li::after {
                content: '';
                position: absolute;
                top: 2.1rem;
                left: -1rem;
                width: calc(1rem + 15px);
                /* +15px εισχώρηση */
                height: 1px;
                background-color: var(--line-color);
                z-index: 1;
            }

            .org-tree li::before,
            .org-tree li::after {
                filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.2));
            }

            .org-tree>li::before {
                display: none;
            }

            .org-tree>li::after {
                display: none;
            }

            /* ΔΙΟΡΘΩΣΗ: Το ύψος προσαρμόζεται στο νέο top (-2.5rem + 2.1rem = 4.6rem) */
            .org-tree li:last-child::before {
                bottom: auto;
                height: 4.6rem;
            }

            /* ΔΙΟΡΘΩΣΗ: Η διακεκομμένη γραμμή συμπεριφέρεται με την ίδια ακριβώς λογική */
            .tree-dashed li::before {
                border-left: 1px dashed var(--line-color);
                background: transparent;
                width: 0;
                top: -2.5rem;
            }

            .tree-dashed li::after {
                border-top: 1px dashed var(--line-color);
                background: transparent;
                height: 0;
                left: -1rem;
                /* Ελαφρύ overlap για να μη χάνεται το corner pixel του dashed */
                width: calc(1rem + 15px);
            }

            .org-main-header .org-header-title {
                font-size: 1.2rem;
            }
        }