/*
    =================================================
    30. GİRİŞ EKRANI
    =================================================

    Uygulamanın açılış sayfası: proje listesi ve
    yeni proje.

    Çalışma ekranıyla aynı masaüstü dilini
    kullanır; yalnız kartlar biraz daha ferah,
    çünkü burada yoğunluk değil okunabilirlik
    önemli.
*/

.girisEkrani {
    width: 100%;
    height: 100%;

    display: flex;
    flex-direction: column;

    overflow: hidden;

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


/*
    -------------------------------------------------
    ÜST ŞERİT
    -------------------------------------------------
*/

.girisHeader {
    height: 56px;

    flex-shrink: 0;

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

    padding:
        0
        16px;

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

    background:
        linear-gradient(
            180deg,
            #f6f8fb,
            var(--renk-serit)
        );
}


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

    gap: 10px;
}


.girisLogo {
    width: 32px;
    height: 32px;

    flex-shrink: 0;

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

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

    background:
        var(--renk-ana);

    color: #ffffff;

    font-size: 12px;
    font-weight: 700;
}


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

    font-size: 14px;
    font-weight: 700;

    line-height: 1.2;
}


.girisAltBaslik {
    color:
        var(--renk-yazi-soluk);

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

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


.girisYeniProjeBtn {
    height: 30px;

    padding:
        0
        16px;

    border:
        1px solid
        var(--renk-ana-hover);

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

    background:
        linear-gradient(
            180deg,
            #2e74e0,
            var(--renk-ana)
        );

    color: #ffffff;

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

    font-weight: 600;

    cursor: pointer;

    transition:
        background 0.1s linear;
}


.girisYeniProjeBtn:hover {
    background:
        linear-gradient(
            180deg,
            var(--renk-ana),
            var(--renk-ana-hover)
        );
}


/*
    -------------------------------------------------
    GÖVDE
    -------------------------------------------------
*/

.girisGovde {
    flex: 1;
    min-height: 0;

    overflow-y: auto;

    padding: 20px;
}


.girisListeAlani {
    max-width: 1100px;

    margin:
        0
        auto;
}


.girisProjeIzgarasi {
    display: grid;

    grid-template-columns:
        repeat(
            auto-fill,
            minmax(260px, 1fr)
        );

    gap: 14px;
}


/*
    -------------------------------------------------
    PROJE KARTI
    -------------------------------------------------
*/

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

    gap: 10px;

    padding: 14px;

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

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

    background:
        var(--renk-alan);

    transition:
        border-color 0.1s linear,
        box-shadow 0.1s linear;
}


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

    box-shadow:
        var(--golge-yuzen);
}


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

    gap: 8px;
}


.girisKartBaslik {
    margin: 0;

    overflow: hidden;
    text-overflow: ellipsis;

    color:
        var(--renk-yazi);

    font-size: 14px;
    font-weight: 700;

    line-height: 1.3;
}


.girisKartSilBtn {
    width: 22px;
    height: 22px;

    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: 16px;
    line-height: 1;

    cursor: pointer;

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


.girisKartSilBtn:hover {
    border-color:
        var(--renk-tehlike);

    background:
        var(--renk-tehlike);

    color: #ffffff;
}


.girisKartMusteri {
    color:
        var(--renk-yazi-ikincil);

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


.girisKartSayilar {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    gap: 6px;

    padding:
        8px
        0;

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

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


.girisKartSayi {
    display: flex;
    flex-direction: column;
    align-items: center;

    gap: 2px;
}


.girisKartSayi strong {
    color:
        var(--renk-yazi);

    font-size: 15px;
    font-weight: 700;

    font-variant-numeric:
        tabular-nums;
}


.girisKartSayi span {
    color:
        var(--renk-yazi-soluk);

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

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


.girisKartTarih {
    color:
        var(--renk-yazi-soluk);

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

    font-variant-numeric:
        tabular-nums;
}


.girisKartAcBtn {
    width: 100%;
    height: 30px;

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

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

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

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

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

    font-weight: 600;

    cursor: pointer;

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


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

    color: #ffffff;
}


/*
    -------------------------------------------------
    BOŞ DURUM
    -------------------------------------------------
*/

.girisBosDurum {
    max-width: 460px;

    margin:
        60px
        auto;

    padding: 28px;

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

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

    background:
        var(--renk-alan);

    text-align: center;
}


.girisBosDurum h3 {
    margin:
        0
        0
        10px;

    color:
        var(--renk-yazi);

    font-size: 15px;
    font-weight: 700;
}


.girisBosDurum p {
    margin: 0;

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

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

    line-height: 1.6;
}


/*
    -------------------------------------------------
    ALT DURUM ÇUBUĞU
    -------------------------------------------------
*/

.girisDurumCubugu {
    height:
        var(--durum-yukseklik);

    flex-shrink: 0;

    display: flex;
    align-items: center;

    padding:
        0
        14px;

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

    background:
        var(--renk-serit);

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

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


.girisDurumCubugu.uyari {
    background:
        var(--renk-uyari-acik);

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


/*
    =================================================
    31. YENİ PROJE PENCERESİ
    =================================================
*/

.yeniProjeKatmani {
    position: fixed;

    inset: 0;

    z-index: 6000;

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

    padding: 24px;

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

    animation:
        katmanGiris
        0.12s
        linear;
}


.yeniProjePenceresi {
    width:
        min(100%, 420px);

    max-height:
        calc(100vh - 48px);

    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;
}


.yeniProjeBaslikAlani {
    height: 30px;

    flex-shrink: 0;

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

    padding:
        0
        4px
        0
        10px;

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

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


.yeniProjeBaslik {
    margin: 0;

    color:
        var(--renk-yazi);

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

    font-weight: 700;
}


.yeniProjeKapatBtn {
    width: 22px;
    height: 22px;

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

    padding: 0;

    border:
        1px solid
        transparent;

    border-radius: 2px;

    background: transparent;

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

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

    cursor: pointer;
}


.yeniProjeKapatBtn:hover {
    border-color:
        var(--renk-tehlike);

    background:
        var(--renk-tehlike);

    color: #ffffff;
}


.yeniProjeForm {
    flex: 1;
    min-height: 0;

    display: flex;
    flex-direction: column;

    gap: 8px;

    overflow-y: auto;

    padding: 12px;
}


.yeniProjeSatiri {
    display: grid;

    grid-template-columns:
        116px
        minmax(0, 1fr);

    align-items: center;

    gap: 8px;

    min-height:
        var(--alan-yukseklik);
}


.yeniProjeEtiketi {
    color:
        var(--renk-yazi-ikincil);

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


.yeniProjeInput {
    width: 100%;
    height:
        var(--alan-yukseklik);

    padding:
        0
        7px;

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

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

    outline: none;

    background:
        var(--renk-alan);

    color:
        var(--renk-yazi);

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

    transition:
        border-color 0.1s linear,
        box-shadow 0.1s linear;
}


.yeniProjeInput[type="number"] {
    text-align: right;

    font-variant-numeric:
        tabular-nums;
}


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

    box-shadow:
        inset 0 0 0 1px
        var(--renk-ana);
}


.yeniProjeMesaj {
    padding:
        7px
        9px;

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

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

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

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

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


.yeniProjeMesaj[hidden] {
    display: none;
}


.yeniProjeButonAlani {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 6px;

    padding: 12px;

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


.yeniProjeBirincilBtn,
.yeniProjeIkincilBtn {
    min-width: 84px;
    height: 28px;

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

    padding:
        0
        14px;

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

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

    font-weight: 600;

    cursor: pointer;

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


.yeniProjeBirincilBtn {
    border:
        1px solid
        var(--renk-ana-hover);

    background:
        linear-gradient(
            180deg,
            #2e74e0,
            var(--renk-ana)
        );

    color: #ffffff;
}


.yeniProjeBirincilBtn:hover {
    background:
        linear-gradient(
            180deg,
            var(--renk-ana),
            var(--renk-ana-hover)
        );
}


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

    background:
        linear-gradient(
            180deg,
            #ffffff,
            #f0f3f8
        );

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


.yeniProjeIkincilBtn:hover {
    border-color:
        var(--renk-kenarlik-koyu);

    background:
        linear-gradient(
            180deg,
            #ffffff,
            #e6ebf3
        );
}
