/*
    =================================================
    31. PANEL ÇİZİM PENCERESİ

    Solda panel seçimi ve ölçü formu, sağda
    panelin 2B görüntüsü.

    Çizim SVG; ölçekleme kayıpsız olsun diye.
    =================================================
*/

.panelCizimKatmani {
    position: fixed;

    inset: 0;

    z-index: 10800;

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

    padding: 20px;

    background:
        rgba(27, 35, 48, 0.4);

    animation:
        katmanGiris
        0.12s
        linear;
}


.panelCizimPenceresi {
    width:
        min(100%, 1180px);

    height:
        min(100%, 760px);

    display: flex;
    flex-direction: column;

    overflow: hidden;

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

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

    background:
        var(--renk-panel);

    box-shadow:
        var(--golge-pencere);

    animation:
        pencereGiris
        0.12s
        linear;
}


.panelCizimBaslikAlani {
    flex-shrink: 0;

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

    gap: 12px;

    padding:
        10px
        12px;

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

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


.panelCizimBaslik {
    margin: 0;

    color:
        var(--renk-yazi);

    font-size: 13px;
    font-weight: 600;
}


.panelCizimOzeti {
    margin:
        3px 0 0;

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

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


.panelCizimKapatBtn {
    width: 24px;
    height: 24px;

    flex-shrink: 0;

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

    padding: 0;

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

    background: transparent;

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

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

    cursor: pointer;
}


.panelCizimKapatBtn:hover {
    background:
        var(--renk-tehlike);

    color: #ffffff;
}


.panelCizimGovde {
    flex: 1;

    min-height: 0;

    display: grid;
    grid-template-columns:
        300px
        1fr;
}


.panelCizimAyarSutunu {
    min-height: 0;

    overflow-y: auto;

    padding: 10px;

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

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


.panelCizimGorselSutunu {
    min-height: 0;

    display: flex;

    padding: 14px;

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


.panelCizimGorseli {
    flex: 1;

    min-width: 0;
    min-height: 0;

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


/*
    SVG kendi en-boy oranını koruyor; kapsayıcı
    ne kadar yer verirse o kadar büyüyor.
*/
.panelCizimGorseli .panelCizimi {
    max-width: 100%;
    max-height: 100%;
}


/*
    -------------------------------------------------
    ÇİZİM ÖĞELERİ
    -------------------------------------------------
*/

.panelCizimi .cizimPanel {
    fill:
        var(--renk-alan);

    stroke:
        var(--renk-kenarlik-koyu);

    stroke-width: 2;
}


.panelCizimi .cizimBosluk {
    fill:
        rgba(96, 165, 250, 0.22);

    stroke:
        var(--renk-ana);

    stroke-width: 2;
}


.panelCizimi .cizimBosluk.secili {
    fill:
        rgba(96, 165, 250, 0.38);

    stroke-width: 3;
}


.panelCizimi .cizimBosluk.hatali {
    fill:
        rgba(239, 68, 68, 0.22);

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


/*
    Takım merkezinin yolu. Kesikli çizgi:
    kesilen kenar değil, takımın gezdiği yer.
*/
.panelCizimi .cizimTakimYolu {
    fill: none;

    stroke:
        var(--renk-uyari);

    stroke-width: 1.5;

    stroke-dasharray:
        10 7;
}


.panelCizimi .cizimDalis {
    fill:
        var(--renk-uyari);

    opacity: 0.75;
}


.panelCizimi .cizimKenarYazisi {
    fill:
        var(--renk-yazi-ikincil);

    font-family:
        Arial, Helvetica, sans-serif;
}


.panelCizimi .cizimBoslukAdi {
    fill:
        var(--renk-yazi);

    font-family:
        Arial, Helvetica, sans-serif;

    font-weight: 600;
}


.panelCizimi .cizimUyari {
    fill:
        var(--renk-yazi-soluk);

    font-family:
        Arial, Helvetica, sans-serif;
}


/*
    -------------------------------------------------
    FORM
    -------------------------------------------------
*/

.panelCizimKutusu {
    margin-bottom: 9px;

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

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

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


.panelCizimKutuBasligi {
    padding:
        5px
        9px;

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

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

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

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

    font-weight: 700;

    letter-spacing: 0.4px;

    text-transform: uppercase;
}


.panelCizimKutuAciklamasi {
    padding:
        6px
        9px
        0;

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

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

    line-height: 1.45;
}


.panelCizimKutuIcerigi {
    padding:
        8px
        9px;
}


.panelCizimSatiri {
    display: grid;
    grid-template-columns:
        1fr
        auto;

    align-items: center;

    gap: 8px;

    margin-bottom: 5px;
}


.panelCizimSatiri[hidden] {
    display: none;
}


.panelCizimEtiketi {
    color:
        var(--renk-yazi);

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


.panelCizimGirisSarmali {
    display: flex;
    align-items: center;

    gap: 5px;
}


.panelCizimGirisi {
    width: 96px;

    height:
        var(--alan-yukseklik);

    padding:
        0
        6px;

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

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

    background:
        var(--renk-alan);

    color:
        var(--renk-yazi);

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

    text-align: right;
}


select.panelCizimGirisi,
.panelCizimMetin {
    width: 150px;

    text-align: left;
}


.panelCizimPanelSecimi {
    width: 100%;
}


.panelCizimGirisi:focus {
    border-color:
        var(--renk-ana);

    outline: none;
}


.panelCizimGirisi:disabled {
    opacity: 0.5;
}


.panelCizimBirimi {
    min-width: 22px;

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

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


.panelCizimAciklamasi {
    display: block;

    margin:
        -2px 0 7px;

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

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

    line-height: 1.4;
}


/*
    -------------------------------------------------
    BOŞLUK LİSTESİ
    -------------------------------------------------
*/

.panelCizimListesi {
    display: flex;
    flex-direction: column;

    gap: 3px;

    margin-bottom: 7px;
}


.panelCizimBosMetin {
    padding:
        6px
        2px;

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

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


.panelCizimListeSatiri {
    display: block;

    width: 100%;

    padding:
        6px
        8px;

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

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

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

    color:
        var(--renk-yazi);

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

    text-align: left;

    cursor: pointer;
}


.panelCizimListeSatiri:hover {
    border-color:
        var(--renk-ana-kenar);
}


.panelCizimListeSatiri.secili {
    border-color:
        var(--renk-ana-kenar);

    background:
        var(--renk-ana);

    color: #ffffff;
}


.panelCizimListeSatiri.hatali {
    border-color:
        var(--renk-tehlike);

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


.panelCizimListeSatiri.secili.hatali {
    background:
        var(--renk-tehlike);

    color: #ffffff;
}


.panelCizimEkleBtn {
    width: 100%;

    height:
        var(--buton-yukseklik);

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

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

    background: transparent;

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

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

    cursor: pointer;
}


.panelCizimEkleBtn:hover {
    border-color:
        var(--renk-ana-kenar);

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


.panelCizimUyarisi {
    margin-top: 8px;
    padding:
        6px
        9px;

    border:
        1px solid
        var(--renk-uyari-kenar);

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

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

    color:
        var(--renk-uyari);

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

    line-height: 1.5;
}


/*
    -------------------------------------------------
    ALT ÇUBUK
    -------------------------------------------------
*/

.panelCizimAltCubuk {
    flex-shrink: 0;

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

    gap: 6px;

    padding:
        8px
        12px;

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

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


.panelCizimSilBtn,
.panelCizimBitirBtn {
    height:
        var(--buton-yukseklik);

    padding:
        0
        14px;

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

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

    background:
        var(--renk-alan);

    color:
        var(--renk-yazi);

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

    cursor: pointer;
}


.panelCizimSilBtn {
    margin-right: auto;

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


.panelCizimSilBtn:disabled {
    opacity: 0.45;

    cursor: default;
}


.panelCizimBitirBtn {
    border-color:
        var(--renk-ana-kenar);

    background:
        var(--renk-ana);

    color: #ffffff;

    font-weight: 600;
}


.panelCizimBitirBtn:hover {
    background:
        var(--renk-ana-hover);
}
