.treeview, .treeview ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.treeview ul {
    margin: 4px;
    font-size: 100%;
}

/* Hitarea: Standardgröße bleibt, aber kein Sprite-Hintergrund mehr */
.treeview .hitarea {
    height: 16px;
    width: 16px;
    margin-left: -16px;
    float: left;
    cursor: pointer;
    background: none; /* Sprite raus */
}

/* Expand/Collapse-Symbole: jeweils eigenes SVG */
.treeview .expandable-hitarea {
    background: url('../images/icons-svg/chevron-right.svg') center center / 16px 16px no-repeat;
}

.treeview .collapsable-hitarea,
.treeview div.lastCollapsable-hitarea {
    background: url('../images/icons-svg/chevron-down.svg') center center / 16px 16px no-repeat;
}

.treeview div.lastExpandable-hitarea {
    background: url('../images/icons-svg/chevron-right.svg') center center / 16px 16px no-repeat;
}

.treeview li {
    margin: 0;
    padding: 3px 0 3px 16px;
}

.treeview a.selected {
    background-color: #eee;
}

#treecontrol {
    margin: 1em 0;
    display: none;
}

.treeview .hover {
    color: red;
    cursor: pointer;
}

/* Verbindungslinien: GIFs bleiben vorerst (siehe Hinweis oben) */
.treeview ul li {
    background: url(../images/treeview/treeview-default-line.gif) 0 0 no-repeat;
    margin: 0;
    padding: 3px 3px 2px 16px;
}
.treeview li.collapsable, .treeview li.expandable { background-position: 0 -176px; }
.treeview li.last { background-position: 0 -1766px; }
.treeview li.lastCollapsable, .treeview li.lastExpandable { background-image: none; }
.treeview li.lastCollapsable { background-position: 0 -111px; }
.treeview li.lastExpandable { background-position: -32px -67px; }

/* Farbvarianten bleiben unverändert, falls noch genutzt */
.treeview-red li { background-image: url(../images/treeview/treeview-red-line.gif); }
.treeview-red .hitarea, .treeview-red li.lastCollapsable, .treeview-red li.lastExpandable { background-image: url(../images/treeview/treeview-red.gif); }

.treeview-black li { background-image: url(../images/treeview/treeview-black-line.gif); }
.treeview-black .hitarea, .treeview-black li.lastCollapsable, .treeview-black li.lastExpandable { background-image: url(../images/treeview/treeview-black.gif); }

.treeview-gray li { background-image: url(../images/treeview/treeview-gray-line.gif); }
.treeview-gray .hitarea, .treeview-gray li.lastCollapsable, .treeview-gray li.lastExpandable { background-image: url(../images/treeview/treeview-gray.gif); }

.treeview-famfamfam li { background-image: url(../images/treeview/treeview-famfamfam-line.gif); }
.treeview-famfamfam .hitarea, .treeview-famfamfam li.lastCollapsable, .treeview-famfamfam li.lastExpandable { background-image: url(../images/treeview/treeview-famfamfam.gif); }

/* Ladeindikator: Tabler Loader statt ajax-loader.gif */
.treeview .placeholder {
    background: url('../images/icons-svg/loader-2.svg') 0 0 / 16px 16px no-repeat;
    height: 16px;
    width: 16px;
    display: block;
    animation: tree-spin 1s linear infinite;
}

@keyframes tree-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* Filetree-Icons auf Tabler umstellen */
.filetree li {
    padding: 3px 0 2px 16px;
}
.filetree span.folder,
.filetree span.file {
    padding: 1px 0 1px 20px; /* etwas mehr Platz für 16px-SVG */
    display: block;
}
.filetree span.folder {
    background: url('../images/icons-svg/folder-open.svg') 0 center / 16px 16px no-repeat;
}
.filetree li.expandable span.folder {
    background: url('../images/icons-svg/folder.svg') 0 center / 16px 16px no-repeat;
}
.filetree span.file {
    background: url('../images/icons-svg/file.svg') 0 center / 16px 16px no-repeat;
}
.filetree span.user {
    background: url('../images/icons-svg/user.svg') 0 center / 16px 16px no-repeat;
}