/*
    =================================================
    21. GENEL MENÜ PANELİ
    =================================================
*/

.menuPaneli {
    width: 100%;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    border:
        1px solid
        var(--renk-kenarlik);

    border-radius:
        var(--radius-kucuk);

    background:
        var(--renk-alan);
}


.menuPaneliBaslikAlani {
    height:
        var(--bolum-baslik-yukseklik);

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 6px;

    padding:
        0
        3px
        0
        9px;

    border-bottom:
        1px solid
        var(--renk-kenarlik-acik);

    background:
        var(--renk-bolum-baslik);
}


.menuPaneliBaslik {
    min-width: 0;

    margin: 0;

    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    color:
        var(--renk-yazi-ikincil);

    font-size:
        var(--yazi-mini);

    font-weight: 700;

    letter-spacing: 0.07em;
    text-transform: uppercase;
}


.menuPaneliYeniMenuBtn {
    width: 19px;
    height: 19px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border:
        1px solid
        var(--renk-kenarlik);

    border-radius: 2px;

    background:
        var(--renk-alan);

    color:
        var(--renk-ana);

    font-size: 14px;
    line-height: 1;

    cursor: pointer;

    transition:
        border-color 0.1s linear,
        background 0.1s linear,
        color 0.1s linear;
}


.menuPaneliYeniMenuBtn:hover:not(:disabled) {
    border-color:
        var(--renk-ana);

    background:
        var(--renk-ana);

    color: #ffffff;
}


.menuPaneliYeniMenuBtn:disabled {
    opacity: 0.4;
}


.menuPaneliIcerik {
    width: 100%;

    display: flex;
    flex-direction: column;

    gap: 0;

    padding:
        3px
        0;

    background:
        var(--renk-alan);
}


.menuPaneliBosMesaj {
    margin: 6px;

    padding: 9px;

    border:
        1px dashed
        var(--renk-kenarlik);

    border-radius:
        var(--radius-kucuk);

    background:
        var(--renk-alan-vurgu);

    color:
        var(--renk-yazi-soluk);

    font-size:
        var(--yazi-mini);

    line-height: 1.4;

    text-align: center;
}


/*
    =================================================
    22. MENÜ AĞACI DÜĞÜMLERİ
    =================================================
*/

.menuDugumu {
    width: 100%;
}


.menuSatiri {
    width: 100%;
    min-height: 24px;

    display: flex;
    align-items: center;

    gap: 2px;

    padding:
        0
        3px
        0
        calc(
            3px +
            (
                var(--menu-derinlik, 0)
                * 13px
            )
        );

    border: 0;

    border-left:
        2px solid
        transparent;

    background: transparent;

    transition:
        background 0.1s linear;
}


.menuSatiri:hover {
    background:
        var(--renk-alan-vurgu);
}


.menuSatiriSecili {
    border-left-color:
        var(--renk-ana);

    background:
        var(--renk-ana-acik);
}


.menuSatiriPasif {
    opacity: 0.55;
}


.menuSatiriGizli {
    opacity: 0.4;
}


.menuAcKapatBtn {
    width: 16px;
    height: 16px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 0;

    border-radius: 2px;

    background: transparent;

    color:
        var(--renk-yazi-soluk);

    font-size: 10px;
    line-height: 1;

    cursor: pointer;

    transition:
        background 0.1s linear,
        color 0.1s linear;
}


.menuAcKapatBtn:hover:not(:disabled) {
    background:
        var(--renk-kenarlik-acik);

    color:
        var(--renk-yazi);
}


.menuAcKapatBtn:disabled,
.menuAcKapatBtnBos {
    cursor: default;

    opacity: 0;
}


.menuAdiBtn {
    flex: 1;

    min-width: 0;
    min-height: 22px;

    display: flex;
    align-items: center;

    padding:
        0
        3px;

    border: 0;

    overflow: hidden;

    background: transparent;

    color:
        var(--renk-yazi);

    text-overflow: ellipsis;
    white-space: nowrap;

    font-size:
        var(--yazi-kucuk);

    text-align: left;

    cursor: pointer;
}


.menuSatiriSecili
.menuAdiBtn {
    color:
        var(--renk-ana-hover);

    font-weight: 600;
}


.menuIslemleri {
    flex-shrink: 0;

    display: flex;
    align-items: center;

    gap: 1px;

    opacity: 0;

    pointer-events: none;

    transition:
        opacity 0.1s linear;
}


.menuSatiri:hover
.menuIslemleri,
.menuSatiri:focus-within
.menuIslemleri,
.menuSatiriSecili
.menuIslemleri {
    opacity: 1;

    pointer-events: auto;
}


.menuIslemBtn {
    width: 20px;
    height: 20px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border:
        1px solid
        transparent;

    border-radius: 2px;

    background: transparent;

    color:
        var(--renk-yazi-soluk);

    font-size: 11px;
    line-height: 1;

    cursor: pointer;

    transition:
        border-color 0.1s linear,
        background 0.1s linear,
        color 0.1s linear;
}


.menuIslemBtn:hover:not(:disabled) {
    border-color:
        var(--renk-kenarlik);

    background:
        var(--renk-alan);

    color:
        var(--renk-yazi);
}


.menuIslemBtn:disabled {
    cursor: not-allowed;

    opacity: 0.35;
}


.menuAltMenuEkleBtn:hover:not(:disabled) {
    border-color:
        var(--renk-ana-kenar);

    background:
        var(--renk-ana-acik);

    color:
        var(--renk-ana-hover);
}


.menuDuzenleBtn:hover:not(:disabled) {
    border-color:
        var(--renk-uyari-kenar);

    background:
        var(--renk-uyari-acik);

    color:
        var(--renk-uyari);
}


.menuSilBtn:hover:not(:disabled) {
    border-color:
        var(--renk-tehlike-kenar);

    background:
        var(--renk-tehlike-acik);

    color:
        var(--renk-tehlike);
}


.menuAltMenuAlani {
    width: 100%;

    display: flex;
    flex-direction: column;
}


.menuDugumuAcik
> .menuAltMenuAlani {
    position: relative;
}


/*
    Ağaç bağlantı çizgisi.
*/
.menuDugumuAcik
> .menuAltMenuAlani::before {
    content: "";

    position: absolute;

    top: 0;
    bottom: 0;
    left:
        calc(
            11px +
            (
                var(--menu-derinlik, 0)
                * 13px
            )
        );

    width: 1px;

    background:
        var(--renk-kenarlik-acik);

    pointer-events: none;
}


