/* _content/SanalYonetici.Web/Components/Layout/MainLayout.razor.rz.scp.css */
/* ORTAK TASARIM DİLİ — "Midnight Command" (docs/01 Madde 2) */

/* Not: html/body { height: 100% } sanalyonetici.css'te tanımlıdır (paylaşılan global stil) —
   bu, aşağıdaki height:100vh'in gerçekten bir tavan (üst sınır) oluşturabilmesi için gereklidir.
   Önceden min-height:100vh kullanılıyordu; bu yalnızca bir TABAN'dı (üst sınır değil), bu yüzden
   içerik (ör. uzayan bir sohbet) shell'i 100vh'in ÜZERİNE büyütüyor, flex:1 zinciri (.sy-icerik →
   .sy-sekme-icerik → .sy-sohbet-duzen) hiçbir zaman sınırlı bir yüksekliğe oturmuyor ve sayfa
   kendisi büyüyordu (kaydırma her zaman en dış body'de oluyordu, iç kaydırma hiç devreye girmiyordu). */
.sy-shell[b-194mz23zy6] {
    height: 100vh;
    overflow: hidden;
    background: var(--sy-arka-plan);
    color: var(--sy-metin-1);
    display: flex;
    flex-direction: column;
}

.sy-topbar[b-194mz23zy6] {
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 24px;
    background: var(--sy-cam-arkaplan);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--sy-cam-kenarlik);
    position: sticky;
    top: 0;
    z-index: 10;
}

.sy-marka[b-194mz23zy6] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.sy-logo[b-194mz23zy6] {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    flex-shrink: 0;
}

.sy-baslik[b-194mz23zy6] {
    font-weight: 600;
    font-size: 20px;
    letter-spacing: -0.01em;
}

.sy-kullanici[b-194mz23zy6] {
    display: flex;
    align-items: center;
    gap: 16px;
    color: var(--sy-metin-2);
    font-size: 14px;
}

.sy-profil-btn[b-194mz23zy6] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: transparent;
    color: var(--sy-metin-1);
    border: 1px solid transparent;
    border-radius: 12px;
    padding: 6px 12px 6px 6px;
    text-decoration: none;
    font-size: 14px;
}

    .sy-profil-btn:hover[b-194mz23zy6] {
        background: var(--sy-yuzey-2);
        border-color: var(--sy-kenarlik);
    }

.sy-profil-avatar[b-194mz23zy6] {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--sy-birincil);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 600;
    flex-shrink: 0;
}

.sy-cikis-btn[b-194mz23zy6] {
    background: var(--sy-yuzey);
    color: var(--sy-metin-1);
    border: 1px solid var(--sy-kenarlik);
    border-radius: 12px;
    padding: 8px 16px;
    cursor: pointer;
}

    .sy-cikis-btn:hover[b-194mz23zy6] {
        background: var(--sy-yuzey-2);
    }

.sy-icerik[b-194mz23zy6] {
    flex: 1;
    min-height: 0;
    padding: 32px;
    display: flex;
    flex-direction: column;
    /* .sy-shell artık sabit (height:100vh, overflow:hidden) olduğundan, kendi başına tam-yükseklik
       dolgu tasarımı OLMAYAN sayfalar (ör. uzun tablolu Firma Kartı sekmeleri) burada kaydırılır —
       Sohbet gibi kendi iç kaydırmasını zaten tanımlayan sayfalarda bu içerik .sy-icerik'i taşırmadığı
       için burada bir kaydırma çubuğu belirmez (çift kaydırma çubuğu oluşmaz). */
    overflow-y: auto;
}

#blazor-error-ui[b-194mz23zy6] {
    background: var(--sy-yuzey-2);
    color: var(--sy-metin-1);
    border-top: 1px solid var(--sy-hata);
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.4);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-194mz23zy6] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
        color: var(--sy-metin-2);
    }
/* _content/SanalYonetici.Web/Components/Pages/Login.razor.rz.scp.css */
.sy-login-sayfasi[b-88a62ujp0m] {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--sy-arka-plan);
    overflow: hidden;
}

/* Arkaplan animasyonu Components/Shared/YapaySinirAgAnimasyonu.razor'a taşındı (Login ve
   anonim tanıtım/Home sayfası aynı bileşeni paylaşır). */

.sy-login-kart[b-88a62ujp0m] {
    position: relative;
    z-index: 1;
    width: 360px;
    background: var(--sy-cam-arkaplan);
    backdrop-filter: blur(20px);
    border: 1px solid var(--sy-cam-kenarlik);
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.25);
}

.sy-login-ana-sayfa-link[b-88a62ujp0m] {
    margin-bottom: 16px;
    padding: 6px 14px;
    font-size: 13px;
}

.sy-login-logo[b-88a62ujp0m] {
    width: 56px;
    height: 56px;
    border-radius: 14px;
    margin-bottom: 16px;
    box-shadow: 0 4px 16px rgba(79, 124, 255, .35);
}

    .sy-login-kart h1[b-88a62ujp0m] {
        color: var(--sy-metin-1);
        font-size: 24px;
        font-weight: 600;
        margin: 0;
    }

.sy-alt-baslik[b-88a62ujp0m] {
    color: var(--sy-metin-2);
    font-size: 14px;
    margin: 4px 0 24px 0;
}

.sy-login-kart label[b-88a62ujp0m] {
    display: block;
    color: var(--sy-metin-2);
    font-size: 13px;
    font-weight: 500;
    margin: 16px 0 6px 0;
}

.sy-login-kart input[type="email"][b-88a62ujp0m],
.sy-login-kart input[type="password"][b-88a62ujp0m] {
    width: 100%;
    box-sizing: border-box;
    background: var(--sy-yuzey);
    border: 1px solid var(--sy-kenarlik);
    border-radius: 10px;
    padding: 10px 12px;
    color: var(--sy-metin-1);
    font-size: 14px;
}

.sy-beni-hatirla[b-88a62ujp0m] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--sy-metin-2);
    margin-top: 16px;
}

    .sy-beni-hatirla input[b-88a62ujp0m] {
        width: auto;
    }

.sy-giris-btn[b-88a62ujp0m] {
    width: 100%;
    margin-top: 24px;
    background: var(--sy-btn-birincil-bg);
    color: #EDF1FA;
    border: none;
    border-radius: 12px;
    padding: 12px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

    .sy-giris-btn:hover[b-88a62ujp0m] {
        background: var(--sy-btn-birincil-hover-bg);
    }

.sy-hata[b-88a62ujp0m] {
    background: var(--sy-hata-yuzeyi);
    border: 1px solid var(--sy-hata);
    color: var(--sy-hata);
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 13px;
    margin-bottom: 8px;
}
/* _content/SanalYonetici.Web/Components/Pages/SinavGiris.razor.rz.scp.css */
/* Sınav sonuç ekranı — puana göre yüz ifadesi/renk + mükemmel puanda (100) saf CSS konfeti (JS/canvas
   yok, Login.razor'daki yapay-sinir-ağı animasyonuyla AYNI ilke). */

.sy-sinav-sonuc-ekrani[b-51x783ydey] {
    position: relative;
    text-align: center;
    overflow: hidden;
    padding-top: 4px;
}

.sy-sinav-sonuc-yuz[b-51x783ydey] {
    position: relative;
    z-index: 1;
    font-size: 64px;
    line-height: 1;
    margin-bottom: 4px;
}

.sy-sinav-sonuc-ekrani h1[b-51x783ydey] {
    position: relative;
    z-index: 1;
    margin: 0 0 2px 0;
}

.sy-sinav-sonuc-puan[b-51x783ydey] {
    position: relative;
    z-index: 1;
    font-size: 40px;
    font-weight: 700;
    margin: 16px 0 4px 0;
    color: var(--sy-birincil);
}

    .sy-sinav-sonuc-puan .sy-not[b-51x783ydey] {
        font-size: 18px;
        font-weight: 400;
        color: var(--sy-metin-2);
    }

.sy-sinav-sonuc-basarili[b-51x783ydey] {
    color: var(--sy-accent);
}

.sy-sinav-sonuc-orta[b-51x783ydey] {
    color: var(--sy-uyari);
}

.sy-sinav-sonuc-dusuk[b-51x783ydey] {
    color: var(--sy-hata);
}

.sy-sinav-sonuc-mesaj[b-51x783ydey] {
    position: relative;
    z-index: 1;
    font-size: 15px;
    color: var(--sy-metin-2);
    margin-bottom: 16px;
}

/* Konfeti — pointer-events yok, salt görsel; @for döngüsüyle üretilen span'ler nth-child döngüsüyle
   (12 desen) farklı konum/renk/gecikme alır, bir Random/JS state gerekmez. */
.sy-konfeti[b-51x783ydey] {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
}

.sy-konfeti-parca[b-51x783ydey] {
    position: absolute;
    top: -20px;
    width: 8px;
    height: 14px;
    border-radius: 2px;
    opacity: .9;
    animation: sy-konfeti-dusme-b-51x783ydey 3.4s linear infinite;
}

@keyframes sy-konfeti-dusme-b-51x783ydey {
    0% { transform: translateY(-20px) rotate(0deg); opacity: 1; }
    100% { transform: translateY(420px) rotate(560deg); opacity: 0; }
}

.sy-konfeti-parca:nth-child(12n+1)[b-51x783ydey]  { left: 2%;  background: var(--sy-birincil); animation-delay: 0s; }
.sy-konfeti-parca:nth-child(12n+2)[b-51x783ydey]  { left: 10%; background: var(--sy-accent);   animation-delay: .3s; }
.sy-konfeti-parca:nth-child(12n+3)[b-51x783ydey]  { left: 18%; background: var(--sy-uyari);    animation-delay: .6s; }
.sy-konfeti-parca:nth-child(12n+4)[b-51x783ydey]  { left: 26%; background: var(--sy-hata);     animation-delay: .9s; }
.sy-konfeti-parca:nth-child(12n+5)[b-51x783ydey]  { left: 34%; background: var(--sy-birincil); animation-delay: 1.2s; }
.sy-konfeti-parca:nth-child(12n+6)[b-51x783ydey]  { left: 42%; background: var(--sy-accent);   animation-delay: .2s; }
.sy-konfeti-parca:nth-child(12n+7)[b-51x783ydey]  { left: 50%; background: var(--sy-uyari);    animation-delay: .5s; }
.sy-konfeti-parca:nth-child(12n+8)[b-51x783ydey]  { left: 58%; background: var(--sy-hata);     animation-delay: .8s; }
.sy-konfeti-parca:nth-child(12n+9)[b-51x783ydey]  { left: 66%; background: var(--sy-birincil); animation-delay: 1.1s; }
.sy-konfeti-parca:nth-child(12n+10)[b-51x783ydey] { left: 74%; background: var(--sy-accent);   animation-delay: .1s; }
.sy-konfeti-parca:nth-child(12n+11)[b-51x783ydey] { left: 84%; background: var(--sy-uyari);    animation-delay: .4s; }
.sy-konfeti-parca:nth-child(12n)[b-51x783ydey]    { left: 94%; background: var(--sy-hata);     animation-delay: .7s; }

@media (prefers-reduced-motion: reduce) {
    .sy-konfeti-parca[b-51x783ydey] {
        animation: none;
        display: none;
    }
}
/* _content/SanalYonetici.Web/Components/Shared/TanitimUstBar.razor.rz.scp.css */
.sy-tanitim-ustbar[b-65ygz0kddv] {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 32px;
    flex-wrap: wrap;
}

.sy-tanitim-marka[b-65ygz0kddv] {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--sy-metin-1);
    font-size: 17px;
    font-weight: 600;
    text-decoration: none;
}

.sy-tanitim-logo[b-65ygz0kddv] {
    width: 32px;
    height: 32px;
    border-radius: 9px;
}

.sy-tanitim-nav[b-65ygz0kddv] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

/* .sy-tanitim-btn* sınıfları BİLEREK burada değil wwwroot/sanalyonetici.css'te (global, scope'suz)
   tanımlıdır — Blazor CSS isolation yalnızca bu bileşenin KENDİ render ettiği markup'a uygulanır;
   Home.razor gibi diğer sayfalar da aynı buton sınıflarını kullandığından global olmaları gerekir. */

/* Telefon genişliğinde (projenin tek yerleşik kırılma noktası, bkz. sanalyonetici.css) nav satırı
   logo satırının altına kendi başına düşünce, üstteki space-between'in tek bir öğeyi satır BAŞINA
   yaslaması yüzünden sola yaslanmış görünüyordu — kök neden bu. Bu genişlikte üst çubuğu dikey/ortalı
   bir düzene çevirip nav'ı da tam genişlik + ortalı yapmak düzeltiyor. */
@media (max-width: 640px) {
    .sy-tanitim-ustbar[b-65ygz0kddv] {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .sy-tanitim-nav[b-65ygz0kddv] {
        justify-content: center;
        width: 100%;
    }
}
/* _content/SanalYonetici.Web/Components/Shared/YapaySinirAgAnimasyonu.razor.rz.scp.css */
/* Madde 4 — AI/beyin temalı animasyonlu arkaplan: yapay sinir ağı diyagramı (düğümler +
   sinapslar) yavaşça nabız gibi parlar; performans/erişilebilirlik için saf CSS (JS/canvas yok),
   prefers-reduced-motion'a uyar. Login.razor'dan çıkarılmış paylaşılan bileşen. */
.sy-ai-arkaplan-animasyon[b-a3iklubszc] {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}

    .sy-ai-arkaplan-animasyon[b-a3iklubszc]::before,
    .sy-ai-arkaplan-animasyon[b-a3iklubszc]::after {
        content: "";
        position: absolute;
        width: 60vmax;
        height: 60vmax;
        border-radius: 50%;
        filter: blur(90px);
        opacity: .22;
        animation: sy-ai-parlama-gez-b-a3iklubszc 22s ease-in-out infinite alternate;
    }

    .sy-ai-arkaplan-animasyon[b-a3iklubszc]::before {
        top: -20%;
        left: -15%;
        background: var(--sy-birincil);
    }

    .sy-ai-arkaplan-animasyon[b-a3iklubszc]::after {
        bottom: -25%;
        right: -15%;
        background: var(--sy-accent);
        animation-duration: 26s;
        animation-direction: alternate-reverse;
    }

.sy-ai-ag[b-a3iklubszc] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: .55;
    animation: sy-ai-ag-gez-b-a3iklubszc 24s ease-in-out infinite alternate;
}

.sy-ai-sinapslar line[b-a3iklubszc] {
    stroke: var(--sy-birincil);
    stroke-width: 1;
    stroke-dasharray: 5 7;
    opacity: .35;
    animation: sy-ai-sinaps-akis-b-a3iklubszc 5s linear infinite;
}

.sy-ai-dugumler circle[b-a3iklubszc] {
    fill: var(--sy-accent);
    animation: sy-ai-dugum-nabiz-b-a3iklubszc 3.6s ease-in-out infinite;
}

    .sy-ai-dugumler circle.sy-ai-dugum-orta[b-a3iklubszc] {
        fill: var(--sy-birincil);
    }

@keyframes sy-ai-sinaps-akis-b-a3iklubszc {
    to {
        stroke-dashoffset: -24;
    }
}

@keyframes sy-ai-dugum-nabiz-b-a3iklubszc {
    0%, 100% {
        opacity: .45;
        transform: scale(1);
    }

    50% {
        opacity: 1;
        transform: scale(1.35);
    }
}

@keyframes sy-ai-ag-gez-b-a3iklubszc {
    from {
        transform: translate(0, 0) scale(1);
    }

    to {
        transform: translate(-1.5%, 1.5%) scale(1.04);
    }
}

@keyframes sy-ai-parlama-gez-b-a3iklubszc {
    from {
        transform: translate(0, 0);
    }

    to {
        transform: translate(6%, 8%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .sy-ai-arkaplan-animasyon[b-a3iklubszc]::before,
    .sy-ai-arkaplan-animasyon[b-a3iklubszc]::after,
    .sy-ai-ag[b-a3iklubszc],
    .sy-ai-sinapslar line[b-a3iklubszc],
    .sy-ai-dugumler circle[b-a3iklubszc] {
        animation: none;
    }
}
