/* /Components/Dashboards/YoneticiPaneli.razor.rz.scp.css */
/* Tablo içindeki tamamlanma oranı çubuğu.
   Küçük ve soluk tutuluyor: asıl bilgi yanındaki yüzde sayısı,
   çubuk yalnızca satırlar arası hızlı karşılaştırma için. */

.oran-cubugu[b-1nm43j86dc] {
    flex: 1;
    height: 0.4rem;
    background: #e9ecef;
    border-radius: 999px;
    overflow: hidden;
    min-width: 3rem;
}

.oran-dolgu[b-1nm43j86dc] {
    height: 100%;
    background: #0d6efd;
    border-radius: 999px;
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-mxr5odvaws] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-mxr5odvaws] {
    flex: 1;
}

.sidebar[b-mxr5odvaws] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-mxr5odvaws] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-mxr5odvaws]  a, .top-row[b-mxr5odvaws]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-mxr5odvaws]  a:hover, .top-row[b-mxr5odvaws]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-mxr5odvaws]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-mxr5odvaws] {
        justify-content: space-between;
    }

    .top-row[b-mxr5odvaws]  a, .top-row[b-mxr5odvaws]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-mxr5odvaws] {
        flex-direction: row;
    }

    .sidebar[b-mxr5odvaws] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-mxr5odvaws] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-mxr5odvaws]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-mxr5odvaws], article[b-mxr5odvaws] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

#blazor-error-ui[b-mxr5odvaws] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    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-mxr5odvaws] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-ifrkepso76] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
}

.navbar-toggler:checked[b-ifrkepso76] {
    background-color: rgba(255, 255, 255, 0.5);
}

.top-row[b-ifrkepso76] {
    min-height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.navbar-brand[b-ifrkepso76] {
    font-size: 1.1rem;
}

.bi[b-ifrkepso76] {
    display: inline-block;
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    margin-right: 0.75rem;
    top: -1px;
    background-size: cover;
}

.bi-house-door-fill-nav-menu[b-ifrkepso76] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-house-door-fill' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5Z'/%3E%3C/svg%3E");
}

.bi-plus-square-fill-nav-menu[b-ifrkepso76] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-plus-square-fill' viewBox='0 0 16 16'%3E%3Cpath d='M2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2zm6.5 4.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3a.5.5 0 0 1 1 0z'/%3E%3C/svg%3E");
}

.bi-list-nested-nav-menu[b-ifrkepso76] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.5 11.5A.5.5 0 0 1 5 11h10a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 3 7h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm-2-4A.5.5 0 0 1 1 3h10a.5.5 0 0 1 0 1H1a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
}

.bi-lock-nav-menu[b-ifrkepso76] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-list-nested' viewBox='0 0 16 16'%3E%3Cpath d='M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2zM5 8h6a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1z'/%3E%3C/svg%3E");
}

.bi-person-nav-menu[b-ifrkepso76] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person' viewBox='0 0 16 16'%3E%3Cpath d='M8 8a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm2-3a2 2 0 1 1-4 0 2 2 0 0 1 4 0Zm4 8c0 1-1 1-1 1H3s-1 0-1-1 1-4 6-4 6 3 6 4Zm-1-.004c-.001-.246-.154-.986-.832-1.664C11.516 10.68 10.289 10 8 10c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664h10Z'/%3E%3C/svg%3E");
}

.bi-person-badge-nav-menu[b-ifrkepso76] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-badge' viewBox='0 0 16 16'%3E%3Cpath d='M6.5 2a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zM11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0z'/%3E%3Cpath d='M4.5 0A2.5 2.5 0 0 0 2 2.5V14a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2.5A2.5 2.5 0 0 0 11.5 0h-7zM3 2.5A1.5 1.5 0 0 1 4.5 1h7A1.5 1.5 0 0 1 13 2.5v10.795a4.2 4.2 0 0 0-.776-.492C11.392 12.387 10.063 12 8 12s-3.392.387-4.224.803a4.2 4.2 0 0 0-.776.492V2.5z'/%3E%3C/svg%3E");
}

.bi-person-fill-nav-menu[b-ifrkepso76] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-person-fill' viewBox='0 0 16 16'%3E%3Cpath d='M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3Zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z'/%3E%3C/svg%3E");
}

.bi-arrow-bar-left-nav-menu[b-ifrkepso76] {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='white' class='bi bi-arrow-bar-left' viewBox='0 0 16 16'%3E%3Cpath d='M12.5 15a.5.5 0 0 1-.5-.5v-13a.5.5 0 0 1 1 0v13a.5.5 0 0 1-.5.5ZM10 8a.5.5 0 0 1-.5.5H3.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L3.707 7.5H9.5a.5.5 0 0 1 .5.5Z'/%3E%3C/svg%3E");
}

.nav-item[b-ifrkepso76] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

    .nav-item:first-of-type[b-ifrkepso76] {
        padding-top: 1rem;
    }

    .nav-item:last-of-type[b-ifrkepso76] {
        padding-bottom: 1rem;
    }

    .nav-item[b-ifrkepso76]  .nav-link {
        color: #d7d7d7;
        background: none;
        border: none;
        border-radius: 4px;
        height: 3rem;
        display: flex;
        align-items: center;
        line-height: 3rem;
        width: 100%;
    }

.nav-item[b-ifrkepso76]  a.active {
    background-color: rgba(255,255,255,0.37);
    color: white;
}

.nav-item[b-ifrkepso76]  .nav-link:hover {
    background-color: rgba(255,255,255,0.1);
    color: white;
}

.nav-scrollable[b-ifrkepso76] {
    display: none;
}

.navbar-toggler:checked ~ .nav-scrollable[b-ifrkepso76] {
    display: block;
}

@media (min-width: 641px) {
    .navbar-toggler[b-ifrkepso76] {
        display: none;
    }

    .nav-scrollable[b-ifrkepso76] {
        /* Never collapse the sidebar for wide screens */
        display: block;

        /* Allow sidebar to scroll for tall menus */
        height: calc(100vh - 3.5rem);
        overflow-y: auto;
    }
}

/* Giriş yapmış kullanıcının adı — artık bağlantı değil, düz metin.
   Menüdeki diğer bağlantılarla aynı hizada dursun diye
   NavLink'in ölçüleri taklit ediliyor. */
.nav-kullanici[b-ifrkepso76] {
    color: rgba(255, 255, 255, 0.8);
    padding: 0.5rem 1rem;
    font-size: 0.9rem;
    line-height: 1.5;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-tkqdwlgjb2],
.components-reconnect-repeated-attempt-visible[b-tkqdwlgjb2],
.components-reconnect-failed-visible[b-tkqdwlgjb2],
.components-pause-visible[b-tkqdwlgjb2],
.components-resume-failed-visible[b-tkqdwlgjb2],
.components-rejoining-animation[b-tkqdwlgjb2] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-tkqdwlgjb2],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-tkqdwlgjb2],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-tkqdwlgjb2],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-tkqdwlgjb2],
#components-reconnect-modal.components-reconnect-retrying[b-tkqdwlgjb2],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-tkqdwlgjb2],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-tkqdwlgjb2],
#components-reconnect-modal.components-reconnect-failed[b-tkqdwlgjb2],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-tkqdwlgjb2] {
    display: block;
}


#components-reconnect-modal[b-tkqdwlgjb2] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-tkqdwlgjb2 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-tkqdwlgjb2 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-tkqdwlgjb2 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-tkqdwlgjb2]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-tkqdwlgjb2 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-tkqdwlgjb2 {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-tkqdwlgjb2 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-tkqdwlgjb2 {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-tkqdwlgjb2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-tkqdwlgjb2] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-tkqdwlgjb2] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-tkqdwlgjb2] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-tkqdwlgjb2] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-tkqdwlgjb2] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-tkqdwlgjb2] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-tkqdwlgjb2 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-tkqdwlgjb2] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-tkqdwlgjb2 {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/GorevDetay.razor.rz.scp.css */
/* ------------------------------------------------------------------
   Görev detay ekranına özel stiller.

   Kapsamlı (scoped) CSS: bu dosyadaki kurallar YALNIZCA GorevDetay.razor
   bileşenine uygulanır. Blazor derleme sırasında her seçiciye bileşene
   özel bir öznitelik ekliyor; böylece ".ek-kutusu" adı başka bir sayfada
   kullanılsa bile buradaki kural oraya sızmıyor.
   ------------------------------------------------------------------ */

/* ---- Ek kutusu ---- */
.ek-kutusu[b-dqo5gcwfy4] {
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: .5rem;
    padding: .5rem;
    height: 100%;
}

/* Fotoğraf ve video önizlemesi.
   object-fit: cover -> farklı en/boy oranlarındaki görseller kutuyu
   bozmadan dolduruyor. Olmasaydı dikey çekilmiş bir telefon fotoğrafı
   kartı uzatıp yanındaki kartla hizasını bozardı. */
.ek-onizleme[b-dqo5gcwfy4] {
    display: block;
    width: 100%;
    height: 11rem;
    object-fit: cover;
    border-radius: .375rem;
    background: #f1f3f5;
}

/* ---- Belge (resim/video olmayan) ---- */
.ek-belge[b-dqo5gcwfy4] {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 11rem;
    padding: .75rem;
    border-radius: .375rem;
    background: #f8f9fa;
    text-decoration: none;
    color: inherit;
}

.ek-belge:hover[b-dqo5gcwfy4] {
    background: #eef2f7;
}

/* Uzantı rozeti (PDF, XLSX...).
   Simge yerine uzantının kendisini yazıyoruz: simge seti eklemeden
   dosya türü tek bakışta anlaşılıyor ve ekran okuyucu da okuyabiliyor. */
.ek-uzanti[b-dqo5gcwfy4] {
    flex-shrink: 0;
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .02em;
    padding: .35rem .5rem;
    border-radius: .25rem;
    background: #495057;
    color: #fff;
}

/* ---- İlerleme çubuğu ----
   Yönetici panelindekiyle aynı görünüm; oradaki genel stil bu bileşene
   ulaşmadığı için burada da tanımlıyoruz. */
.oran-cubugu[b-dqo5gcwfy4] {
    height: .5rem;
    border-radius: 1rem;
    background: #e9ecef;
    overflow: hidden;
}

.oran-dolgu[b-dqo5gcwfy4] {
    height: 100%;
    border-radius: 1rem;
    background: #0d6efd;
    transition: width .3s ease;
}

/* Belge kutusundaki büyük uzantı rozeti.
   Kutunun tek görsel öğesi bu; dosya adı kutunun altında yazıyor. */
.ek-uzanti-buyuk[b-dqo5gcwfy4] {
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: .05em;
    padding: .6rem 1.1rem;
    border-radius: .5rem;
    background: #495057;
    color: #fff;
}
/* /Components/Pages/Gorevler.razor.rz.scp.css */

/* ---- Listedeki ilerleme çubuğu ----
   Detay sayfasındakinden daha ince: tablo satırının yüksekliğini
   artırmaması gerekiyor, yoksa listede daha az görev sığar. */
.liste-cubugu[b-sbtqmy974v] {
    height: .35rem;
    border-radius: 1rem;
    background: #e9ecef;
    overflow: hidden;
}

.liste-dolgu[b-sbtqmy974v] {
    height: 100%;
    border-radius: 1rem;
    background: #0d6efd;
}

/* ==================================================================
   DAR EKRANDA TABLO -> KART
   ==================================================================
   Telefonda 7 sütunlu bir tablo okunmuyordu: görev başlığı dört satıra
   bölünüyor, durum ve termin ancak yatay kaydırmayla görülebiliyordu.
   Saha çalışanının en çok kullandığı ekran bu olduğu için önemliydi.

   Çözüm ayrı bir mobil şablon değil, aynı tablonun yeniden akıtılması:
   her satır bir karta, her hücre "etiket: değer" satırına dönüşüyor.
   Etiketler data-etiket özniteliğinden geliyor — yani tek bir işaretleme
   iki düzeni birden besliyor, içerik iki yerde tekrarlanmıyor.
   ================================================================== */
@media (max-width: 767.98px) {

    /* Başlık satırı gizleniyor; etiketler artık her hücrenin yanında. */
    .gorev-tablosu thead[b-sbtqmy974v] {
        display: none;
    }

    .gorev-tablosu[b-sbtqmy974v],
    .gorev-tablosu tbody[b-sbtqmy974v] {
        display: block;
        width: 100%;
    }

    /* Her satır bir kart */
    .gorev-tablosu tbody tr[b-sbtqmy974v] {
        display: block;
        border: 1px solid var(--bs-border-color, #dee2e6);
        border-radius: .5rem;
        padding: .8rem .9rem;
        margin-bottom: .65rem;
        background: #fff;
    }

    .gorev-tablosu tbody td[b-sbtqmy974v] {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 1rem;
        border: 0;
        padding: .3rem 0;
    }

    .gorev-tablosu tbody td[b-sbtqmy974v]::before {
        content: attr(data-etiket);
        color: #6c757d;
        font-size: .8rem;
        flex-shrink: 0;
    }

    /* İlk hücre kartın başlığı: etiketi yok, tam genişlikte. */
    .gorev-tablosu tbody td:first-child[b-sbtqmy974v] {
        display: block;
        padding-bottom: .5rem;
        margin-bottom: .35rem;
        border-bottom: 1px solid var(--bs-border-color, #dee2e6);
    }

    .gorev-tablosu tbody td:first-child[b-sbtqmy974v]::before {
        content: none;
    }

    /* İlerleme çubuğu satırında değer sağa yaslı kalsın. */
    .gorev-tablosu tbody td > .d-flex[b-sbtqmy974v] {
        flex: 1;
        justify-content: flex-end;
    }

    .gorev-tablosu tbody td .liste-cubugu[b-sbtqmy974v] {
        max-width: 8rem;
    }
}
/* /Components/Pages/KullaniciDuzenle.razor.rz.scp.css */
/* İl seçim kutusu: iller uzarsa form sayfayı taşırmasın diye
   sabit yükseklikte kaydırılabilir bir alan. */
.il-secim[b-htep4v95ei] {
    max-height: 13rem;
    overflow-y: auto;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: .375rem;
    padding: .6rem .8rem;
}
/* /Components/Pages/Kullanicilar.razor.rz.scp.css */
/* ------------------------------------------------------------------
   Kullanıcı yönetimi ekranına özel stiller.
   ------------------------------------------------------------------ */

/* Pasif hesapların satırı soluk gösteriliyor.
   Yalnızca "Pasif" rozetine güvenmek yetmez: uzun listede gözün satırı
   ayırt etmesi gerekiyor. Rozet + solukluk birlikte çalışıyor — renk
   tek başına bilgi taşımıyor. */
.pasif-satir[b-ulxxi8f5r4] {
    opacity: .55;
}

/* Geçici şifre: bir daha gösterilmeyeceği için seçilip kopyalanması kolay olmalı. */
.gecici-sifre[b-ulxxi8f5r4] {
    display: inline-block;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: .06em;
    background: #fff;
    border: 1px solid #adb5bd;
    border-radius: .3rem;
    padding: .25rem .6rem;
    user-select: all;   /* tek tıkla tamamı seçilsin */
}

/* İşlem düğmeleri tek satırda kalsın.
   Sarmalandıklarında ("Şifre / sıfırla" iki satır) tablo satırları
   birbirinden farklı yükseklikte oluyor ve liste dağınık görünüyor. */
.islem-hucresi[b-ulxxi8f5r4] {
    white-space: nowrap;
}

/* "Açık görev" başlığı da bölünmesin. */
.dar-baslik[b-ulxxi8f5r4] {
    white-space: nowrap;
}
/* /Components/Shared/BildirimZili.razor.rz.scp.css */
/* ------------------------------------------------------------------
   Bildirim zili stilleri.

   ".razor.css" uzantısı => "scoped CSS" (kapsamlı stil).
   Blazor bu dosyadaki kuralları yalnızca bu bileşene uygular;
   başka sayfalardaki aynı isimli sınıfları etkilemez.
   ------------------------------------------------------------------ */

.bildirim-alani[b-8wkwgmx4tv] {
    position: relative;
    display: inline-block;
}

.bildirim-butonu[b-8wkwgmx4tv] {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0.25rem 0.5rem;
    position: relative;
    line-height: 1;
}

.zil-ikonu[b-8wkwgmx4tv] {
    font-size: 1.25rem;
}

/* Okunmamış sayısı — zilin sağ üstünde kırmızı daire */
.bildirim-rozeti[b-8wkwgmx4tv] {
    position: absolute;
    top: -2px;
    right: -2px;
    background-color: #dc3545;
    color: #fff;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 600;
    min-width: 1.15rem;
    height: 1.15rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.25rem;
}

/* Panel açıkken arkada duran görünmez katman:
   dışarıya tıklanınca paneli kapatmak için. */
.bildirim-ortu[b-8wkwgmx4tv] {
    position: fixed;
    inset: 0;
    z-index: 1040;
}

.bildirim-paneli[b-8wkwgmx4tv] {
    position: absolute;
    right: 0;
    top: 100%;
    margin-top: 0.5rem;
    width: 22rem;
    max-width: 90vw;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 0.5rem;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    z-index: 1050;
    overflow: hidden;
}

.bildirim-basligi[b-8wkwgmx4tv] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.65rem 0.85rem;
    border-bottom: 1px solid #dee2e6;
    background: #f8f9fa;
}

.bildirim-bos[b-8wkwgmx4tv] {
    padding: 1.25rem 0.85rem;
    text-align: center;
    color: #6c757d;
}

.bildirim-listesi[b-8wkwgmx4tv] {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 22rem;
    overflow-y: auto;
}

.bildirim-satiri[b-8wkwgmx4tv] {
    padding: 0.6rem 0.85rem;
    border-bottom: 1px solid #f1f3f5;
    cursor: pointer;
}

.bildirim-satiri:hover[b-8wkwgmx4tv] {
    background: #f8f9fa;
}

/* Okunmamış bildirimler sol kenarda mavi çizgiyle ayrışıyor */
.bildirim-satiri.okunmamis[b-8wkwgmx4tv] {
    background: #f0f7ff;
    border-left: 3px solid #0d6efd;
}

.bildirim-ust[b-8wkwgmx4tv] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.15rem;
}

.bildirim-tipi[b-8wkwgmx4tv] {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: #6c757d;
}

.bildirim-mesaji[b-8wkwgmx4tv] {
    font-size: 0.875rem;
    line-height: 1.35;
}
/* /Components/Shared/GorevMiniListe.razor.rz.scp.css */
/* ------------------------------------------------------------------
   Kompakt görev listesi stilleri.
   ------------------------------------------------------------------ */

.mini-liste[b-sespdqxdlr] {
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 0.5rem;
    height: 100%;
    overflow: hidden;
}

.mini-baslik[b-sespdqxdlr] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #dee2e6;
    font-size: 0.875rem;
    font-weight: 600;
    color: #212529;
    background: #f8f9fa;
}

.mini-link[b-sespdqxdlr] {
    font-size: 0.8rem;
    font-weight: 400;
    text-decoration: none;
}

.mini-bos[b-sespdqxdlr] {
    padding: 1.25rem 1rem;
    text-align: center;
    color: #6c757d;
    font-size: 0.875rem;
}

.mini-satirlar[b-sespdqxdlr] {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mini-satirlar li + li[b-sespdqxdlr] {
    border-top: 1px solid #f1f3f5;
}

.mini-satir[b-sespdqxdlr] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 1rem;
    text-decoration: none;
    color: inherit;
}

.mini-satir:hover[b-sespdqxdlr] {
    background: #f8f9fa;
}

.mini-sol[b-sespdqxdlr] {
    min-width: 0;   /* uzun başlıkların taşmasını engeller */
}

.mini-gorev-adi[b-sespdqxdlr] {
    font-size: 0.875rem;
    font-weight: 500;
    color: #212529;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mini-detay[b-sespdqxdlr] {
    font-size: 0.78rem;
    color: #6c757d;
}

.mini-sag[b-sespdqxdlr] {
    text-align: right;
    white-space: nowrap;
    flex-shrink: 0;
}

.mini-termin[b-sespdqxdlr] {
    font-size: 0.75rem;
    color: #6c757d;
    margin-top: 0.15rem;
}
/* /Components/Shared/OzetKarti.razor.rz.scp.css */
/* ------------------------------------------------------------------
   KPI kartı stilleri.

   Metin renkleri her zaman "metin rengi" (koyu gri / soluk gri) —
   asla verinin rengi. Rengi taşıyan tek şey soldaki ince şerit.
   Böylece sayılar her koşulda okunaklı kalıyor.
   ------------------------------------------------------------------ */

.ozet-karti[b-rtnii0erq6] {
    background: #fff;
    border: 1px solid #dee2e6;
    border-left-width: 4px;          /* vurgu şeridi */
    border-left-color: #adb5bd;
    border-radius: 0.5rem;
    padding: 0.9rem 1rem;
    height: 100%;
}

/* Başlık: küçük, soluk, büyük harf — sayının önüne geçmesin */
.ozet-baslik[b-rtnii0erq6] {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: #6c757d;
    margin-bottom: 0.15rem;
}

/* Kahraman sayı: kartın tek baskın öğesi */
.ozet-deger[b-rtnii0erq6] {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.1;
    color: #212529;
}

.ozet-alt[b-rtnii0erq6] {
    font-size: 0.8rem;
    color: #6c757d;
    margin-top: 0.15rem;
}

/* ---- Durum vurguları ----
   Yalnızca sol şeridin rengini değiştirir; yazı rengine dokunmaz. */

.vurgu-notr[b-rtnii0erq6]   { border-left-color: #adb5bd; }
.vurgu-iyi[b-rtnii0erq6]    { border-left-color: #198754; }
.vurgu-uyari[b-rtnii0erq6]  { border-left-color: #fd7e14; }
.vurgu-kritik[b-rtnii0erq6] { border-left-color: #dc3545; }
/* /Components/Shared/RiskRozeti.razor.rz.scp.css */
/* Risk rozeti — yüzde ve seviye metni yan yana.
   Metin her zaman koyu renk; kimliği taşıyan zemin rengi. */

.risk-rozeti[b-jw2meaf5y0] {
    display: inline-flex;
    align-items: baseline;
    gap: 0.3rem;
    padding: 0.15rem 0.45rem;
    border-radius: 0.35rem;
    border: 1px solid transparent;
    white-space: nowrap;
}

.risk-yuzde[b-jw2meaf5y0] {
    font-weight: 700;
    font-size: 0.85rem;
}

.risk-seviye[b-jw2meaf5y0] {
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.risk-dusuk[b-jw2meaf5y0] {
    background: #f1f3f5;
    border-color: #dee2e6;
    color: #495057;
}

.risk-orta[b-jw2meaf5y0] {
    background: #fff3cd;
    border-color: #ffe69c;
    color: #664d03;
}

.risk-yuksek[b-jw2meaf5y0] {
    background: #ffe5d0;
    border-color: #fecba1;
    color: #8a3d02;
}

.risk-kritik[b-jw2meaf5y0] {
    background: #f8d7da;
    border-color: #f1aeb5;
    color: #842029;
}
/* /Components/Shared/YatayCubukGrafik.razor.rz.scp.css */
/* ------------------------------------------------------------------
   Yatay çubuk grafik stilleri.

   Not: Eksen çizgisi ve ızgara YOK. Her çubuk kendi değerini yanında
   yazdığı için ızgaraya gerek kalmıyor; ızgara eklemek grafiği
   kalabalıklaştırıp veriyi geri plana iterdi.
   ------------------------------------------------------------------ */

.cubuk-grafik[b-vzmz4v2i9u] {
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 0.5rem;
    padding: 1rem;
    height: 100%;
}

.grafik-basligi[b-vzmz4v2i9u] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #212529;
    margin-bottom: 0.85rem;
}

.grafik-bos[b-vzmz4v2i9u] {
    color: #6c757d;
    font-size: 0.875rem;
    padding: 1rem 0;
    text-align: center;
}

.cubuk-listesi[b-vzmz4v2i9u] {
    display: flex;
    flex-direction: column;
    /* Çubuklar arası boşluk: bitişik dolguların birbirine karışmasını önler */
    gap: 0.4rem;
}

.cubuk-satiri[b-vzmz4v2i9u] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

/* Kategori adı — sabit genişlik, böylece tüm çubuklar aynı hizadan başlar */
.cubuk-etiketi[b-vzmz4v2i9u] {
    flex: 0 0 6.5rem;
    font-size: 0.8rem;
    color: #495057;
    text-align: right;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cubuk-alani[b-vzmz4v2i9u] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-width: 0;
}

.cubuk[b-vzmz4v2i9u] {
    height: 0.85rem;              /* ince çubuk: veri az yer kaplasın */
    border-radius: 0 4px 4px 0;   /* veri ucu yuvarlatılmış, taban keskin */
    min-width: 3px;               /* en küçük değer bile görünür kalsın */
    transition: width 0.3s ease;
}

/* Değer etiketi metin rengiyle yazılır, çubuğun rengiyle değil.
   Renk kimliği çubuğun kendisinde; sayı her zaman okunaklı kalmalı. */
.cubuk-degeri[b-vzmz4v2i9u] {
    font-size: 0.8rem;
    font-weight: 600;
    color: #212529;
    min-width: 1.5rem;
}
