.os-tree-view {
    width: 100%;
    height: inherit;
    display: block;
    background: #fff;
    box-shadow: var(--border-field);
    padding: 6px 0px;
    border: solid 1px #7f9db9;
    cursor: default;
    box-sizing: border-box;
    overflow: auto;

    .os-tree-node {
        width: auto;
        min-height: 16px;
        display: flex;
        align-items: center;

        .os-tree-node-trigger.os-default-trigger {
            width: 16px;
            min-width: 16px;
            height: 16px;
        }

        .os-label {
            padding: 1px 6px 1px 2px;
        }

        &.os-selected {
            box-sizing: border-box;
            background-color: rgba(var(--os-primary-color), 1);
            color: #fff;
        }

        &.os-selected:focus {
            outline: 1px dotted rgb(0, 0, 0);
        }

        &.os-expandable .os-tree-node-trigger.os-default-trigger {
            display: flex;
            align-items: center;
            justify-content: center;

            &:before {
                width: 9px;
                height: 9px;
                display: block;
                background-image: url('/assets/themes/winXP/icons/tree-view-icon.png');
                background-position: 0px -9px;
                background-repeat: no-repeat;
                content: '';
                opacity: 0.5;
            }
        }

        &.os-expanded .os-tree-node-trigger.os-default-trigger:before {
            background-position: 0px 0px;
        }

        &:not(.os-disabled) {
            .os-tree-node-trigger.os-default-trigger:before {
                opacity: 1;
                background-position: 0px -9px;
            }

            &.os-expanded .os-tree-node-trigger.os-default-trigger:before {
                opacity: 1;
                background-position: 0px 0px;
            }
        }

        &.os-disabled {
            color: #909090;
        }

        &:not(.os-root-node) > :first-child {
            margin-left: calc((16px * var(--os-tree-node-depth)));
        }
    }
}
