Dynamiczne menu wysuwane na wielu poziomach

Mam następującą strukturę menu wysuwanego z czystym CSS:

HTML

<ul class="menu">
    <li><a href="#">Base</a>        
        <ul>
            <li><a href="#">Clients</a>                
                <ul>
                    <li><a href="#">New</a></li>
                    <li><a href="#">Edit</a></li>
                    <li><a href="#">Delete</a></li>
                </ul>
            </li>
            <li><a href="#">Products</a></li>
            <li><a href="#">Employees</a></li>
        </ul>
    </li>
    <li><a href="#">Search</a></li>
    <li><a href="#">System</a></li>
</ul>

CSS

a {text-decoration: none; font-family: verdana; font-size: 12px}
ul{list-style: none; padding:0; margin:0}

.menu {
    margin:0; padding:0;
    width: 100%; height: auto; 
    background: #ccc;    
    position: absolute;
    top:0; left:0;   
}
.menu li {
    float:left;
    display:block
}
.menu li li {
    float:none;
}
.menu li a {
   padding: 0 5px;   
}
.menu li a:hover {
    background: #bbb
}
.menu li ul {
    padding:0; margin:0;
    background: #ddd;
    width: auto;
    position: absolute;    
    visibility: hidden;
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
    opacity: 0;
    margin: 20px 0 0 0;    
}
.menu li:hover ul {
    margin:0;
    opacity: 1;
    visibility: visible;
    display:block
}
.menu li ul li {
    clear:both   
}
.menu li ul li a {   
    width: auto;
    display:block;
}
.menu li ul li ul {
    position: absolute;       
    top: 0; left: 72px;    
    margin: 0 0 0 20px;
    display: block;
    visibility: hidden;
    opacity: 0
}
.menu li ul li ul li {
    position: relative;
    display:none;
    visibility: hidden;
    opacity: 0
}
.menu li ul li:hover ul li {
    visibility: visible;
    opacity: 1;
    display:block    
}

jsFiddle przykład

Wszystko działa dobrze dla pierwszego i drugiego poziomu menu. Drugi poziom (.menu li ul) jest dynamiczny, więc jeśli zmieniła się długość opcji, powinna zwiększyć jej szerokość.

Właśnie z tego pochodzi moje pytanie. Chcę, aby trzeci poziom zawsze pozostawał na końcu drugiego poziomu, niezależnie odwidth drugiego poziomu.

Spróbuję uczynić to bardziej przejrzystym za pomocą następujących obrazów.

Oto, co mam teraz:

Oto, co się dzieje, gdy długość opcji zostanie zwiększona:

Oto jak powinno się zachowywać menu:

Czy to jest sposób na zrobienie tego z czystym CSS?

Jeśli nie, jaki będzie mój najlepszy wybór, aby osiągnąć to, czego chcę?

Z góry dziękuję.

questionAnswers(1)

yourAnswerToTheQuestion