/*
 * Konelsis panel stil ekleri (D-69, kullanici onayi 8 Eylul 2026).
 *
 * Yalniz kucuk, yeniden kullanilabilir duzeltmeler: Filament'in kendi
 * bilesenleri yeterli olmadiginda ve kullanici onayiyla buraya eklenir.
 * Kayit: App\Providers\FilamentAssetsProvider; yayin: `php artisan filament:assets`.
 */

/*
 * Kume (cluster) alt-navigasyon sekmeleri — orn. Ayarlar. Filament sekme
 * cubugunu tek satirda cizip sigmayanlari yatay kaydirir; burada sigmayan
 * sekmeler bir alt satirdan devam eder. Ana sol menu etkilenmez.
 */
.fi-tabs.fi-page-sub-navigation-tabs {
    flex-wrap: wrap;
    overflow-x: visible;
    row-gap: 0.25rem;
}

/*
 * Sihirbaz adim basligi (proje / is dosyasi sihirbazlari, D-72). Filament
 * genis ekranda adimlari tek satira dizip sigmayanlari yatay kaydirir;
 * burada sigmayan adimlar bir alt satirdan devam eder. Dar ekranda Filament'in
 * yalniz aktif adimi gosteren davranisi degismez.
 */
@media (min-width: 48rem) {
    .fi-sc-wizard .fi-sc-wizard-header {
        grid-auto-flow: row;
        grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));
        overflow-x: visible;
    }

    .fi-sc-wizard .fi-sc-wizard-header .fi-sc-wizard-header-step .fi-sc-wizard-header-step-btn .fi-sc-wizard-header-step-text {
        width: auto;
        max-width: 100%;
    }
}

/*
 * Sayfa basligi ve aciklamasi (10 Eylul 2026, kullanici onayi). Filament'in
 * varsayilani (2xl/3xl baslik, lg aciklama) bu urunde asiri buyuk bulundu.
 * Bu bilesen Liste/Goruntule/Olustur/Duzenle sayfalarinin hepsinde ayni
 * (Filament sayfa turune gore ayri sinif vermiyor), o yuzden kural panel
 * genelinde gecerlidir.
 */
.fi-header-heading {
    font-size: 1.125rem;
    line-height: 1.5rem;
}

.fi-header-subheading {
    font-size: 0.8125rem;
    line-height: 1.125rem;
}

/*
 * Sema karti (Section) basligi ve aciklamasi — orn. "Kimlik" / "Belgenin adi,
 * tipi ve dili..." (10 Eylul 2026, kullanici onayi). Sayfa basligiyla ayni
 * gerekce: Filament varsayilani bu urunde buyuk bulundu.
 */
.fi-section-header-heading {
    font-size: 0.8125rem;
    line-height: 1.125rem;
}

.fi-section-header-description {
    font-size: 0.75rem;
    line-height: 1rem;
}

/*
 * Tablo basligi ve aciklamasi — pano widget'lari ("Yaklaşan tarihler ve
 * uyarılar" / "Tüm açık uyarılar; kritikler üstte.", "Duyurular") ve iliski
 * yoneticileri ("Personel Hareketleri") ayni bileseni kullanir (11 Eylul 2026,
 * kullanici istegi). Sema karti basligiyla ayni olcu.
 */
.fi-ta-header-heading {
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.fi-ta-header-description {
    font-size: 0.8125rem;
    line-height: 1.125rem;
}

/*
 * Sihirbaz (Wizard) adim basligi ve altindaki aciklama — proje olusturma/
 * duzenleme sihirbazi ve proje sayfasindaki adim seridi ("Kimlik" / "Proje
 * adi, musteri ve tip", "Satin Alma" / "Sirada · 2 eksik") (11 Eylul 2026,
 * kullanici istegi: aciklamalarin puntosu buyuk bulundu).
 */
.fi-sc-wizard-header-step-description {
    font-size: 0.75rem;
    line-height: 1rem;
}

/*
 * Form alani basligi (etiket) ve altindaki aciklama (helper text) — orn.
 * "Başlık" / "Belgenin listelerde ve kartta görünen adı." (10 Eylul 2026,
 * kullanici onayi). Aciklama secici alan icerik sutunuyla ( .fi-fo-field-content-col )
 * sinirlandi ki baska yerlerdeki genel Text bilesenlerini (kart rozetleri,
 * ozet metinleri vb.) etkilemesin.
 */
.fi-fo-field-label {
    font-size: 0.75rem;
    line-height: 1rem;
}

.fi-fo-field-content-col > .fi-sc-text,
.fi-fo-field-content-col .fi-sc-component > .fi-sc-text {
    font-size: 0.6875rem;
    line-height: 0.875rem;
}

/*
 * Sayfa ustundeki "iz" (breadcrumb) — orn. "Ayarlar > Yetkinlikler > Liste"
 * (10 Eylul 2026, kullanici onayi).
 */
.fi-breadcrumbs {
    font-size: 0.75rem;
    line-height: 1rem;
}

/*
 * Sayfa basligi (baslik+action satiri) ile altindaki icerigin (sekmeler,
 * tablo, form) arasindaki bosluk — varsayilan 32px iki kademede de (once
 * baslik->icerik, kume sayfalarinda ayrica sekme->tablo) fazla bulundu.
 * Ust bar (logo/arama/profil) ile navigasyon izi (breadcrumb) arasindaki
 * ust bosluk da ayni sebeple azaltildi (10 Eylul 2026, kullanici onayi).
 */
.fi-page-header-main-ctn {
    row-gap: 0.75rem;
    padding-top: 1rem;
}

.fi-page-main {
    gap: 0.75rem;
}

/*
 * Sol menu (29 Eylul 2026, kullanici istegi D-138: "sol navigation bar'daki
 * bu gereksiz buyuklugu kucultelim inanilmaz fazlaca bos alan kapliyor").
 * Filament'in menu genisligi ayari var (AdminPanelProvider::sidebarWidth,
 * 20rem -> 15rem) ama satir, grup ve kenar araliklari icin ayari yok;
 * varsayilanlar: ust bosluk 2rem, yan bosluk 1.5rem, gruplar arasi 1.75rem,
 * oge dolgusu 0.5rem, simge 1.5rem, icerik kenar boslugu 2rem. Menu yapisi
 * (gruplar, siralama, kapali baslama) degismez; yalniz olculer kuculur.
 */
.fi-sidebar-nav {
    row-gap: 0.75rem;
    padding: 0.75rem 0.75rem 1rem;
    scrollbar-width: thin;
}

.fi-sidebar-nav-groups {
    margin-inline: -0.25rem;
    row-gap: 0.625rem;
}

.fi-sidebar-group {
    row-gap: 0.125rem;
}

.fi-sidebar-group-items,
.fi-sidebar-sub-group-items {
    row-gap: 0.125rem;
}

.fi-sidebar-group-btn {
    column-gap: 0.625rem;
    padding: 0.25rem 0.5rem;
}

.fi-sidebar-group-label {
    font-size: 0.75rem;
    line-height: 1.25rem;
}

.fi-sidebar-item-btn {
    column-gap: 0.625rem;
    padding: 0.375rem 0.5rem;
}

.fi-sidebar-item-btn > .fi-icon,
.fi-sidebar-group-btn > .fi-icon,
.fi-sidebar-item-grouped-border {
    width: 1.25rem;
    height: 1.25rem;
}

/*
 * Liste satiri ayirici ve onem seridi (UI Deneme > Liste denemeleri, D-139).
 * .kc-list-row: sema ile cizilen alt alta kayitlar (zaman akisi, kisa liste)
 * arasinda ince cizgi. .kc-tone-*: tablo satirinin solunda onem rengi seridi
 * (gri normal, sari onemli, kirmizi acil); onem ayri sutun yer kaplamaz.
 */
/* Filament her bileseni .fi-grid-col > .fi-sc-component icine sarar. */
.fi-grid-col + .fi-grid-col > .fi-sc-component > .kc-list-row {
    border-top: 1px solid var(--gray-200);
    padding-top: 0.75rem;
}

.fi-grid-col + .fi-grid-col > .fi-sc-component > .kc-list-row:where(.dark, .dark *) {
    border-top-color: var(--gray-800);
}

.kc-tone-gray {
    box-shadow: inset 3px 0 0 var(--gray-300);
}

.kc-tone-warning {
    box-shadow: inset 3px 0 0 var(--warning-500);
}

.kc-tone-danger {
    box-shadow: inset 3px 0 0 var(--danger-500);
}

/*
 * Okuyucu duzeni (dikey sekmeler, .kc-reader): Filament baslik listesini
 * icerik genisliginde birakiyor, yarim genislikte okuma alani ~150px'e
 * dusuyordu. Liste %40'ta sabit, uzun basliklar kesilmek yerine alt satira iner.
 */
.kc-reader .fi-tabs.fi-vertical {
    flex: 0 0 40%;
    max-width: 40%;
}

.kc-reader .fi-tabs.fi-vertical .fi-tabs-item {
    align-items: flex-start;
    text-align: start;
    white-space: normal;
}

.kc-reader .fi-sc-tabs-tab.fi-active {
    min-width: 0;
    margin-inline-start: 1rem;
}

/*
 * Adim denemeleri (UI Deneme, D-141): teklif sayfasindaki "Is akisi" yerine
 * onerilen gosterimler. Filament semasi her parcayi form alani gibi 1.5rem
 * arayla dizer; tasarlanmis bilesenlerde satirlar sik olmalidir. Kurallar
 * yalniz kc- sinifli deneme bilesenlerini etkiler.
 */
.kc-tight > .fi-sc,
.kc-track-step > .fi-sc,
.kc-path-step > .fi-sc,
.kc-metro-stop > .fi-sc,
.kc-guide > .fi-sc,
.kc-todo-row .fi-sc {
    row-gap: 0.25rem;
}

.kc-demo-block {
    margin-top: 1.25rem;
}

.kc-demo-block > .fi-sc {
    row-gap: 0.5rem;
}

.kc-list-section .fi-section-content,
.kc-mock .fi-section-content {
    row-gap: 0.5rem;
}

/* 1 Kargo takibi: daireler bir cizgiyle bagli, gecilen kisim yesil. */
.kc-track {
    position: relative;
    padding-top: 0.25rem;
}

.kc-track > .fi-grid {
    column-gap: 0;
}

.kc-track::before,
.kc-track::after {
    content: "";
    position: absolute;
    top: calc(0.25rem + 1.5rem - 2px);
    left: calc(100% / 6);
    height: 4px;
    border-radius: 9999px;
}

.kc-track::before {
    right: calc(100% / 6);
    background: var(--gray-200);
}

.kc-track::after {
    width: calc(100% / 3);
    background: var(--success-500);
}

.kc-track.kc-track-full::after {
    width: calc(100% * 2 / 3);
}

.kc-track:where(.dark, .dark *)::before {
    background: var(--gray-700);
}

.kc-track-step .fi-sc-component {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

svg.kc-track-dot {
    position: relative;
    z-index: 1;
    width: 3rem;
    height: 3rem;
    padding: 0.65rem;
    border: 3px solid var(--gray-300);
    border-radius: 9999px;
    background: #fff;
    color: var(--gray-400);
}

svg.kc-track-dot:where(.dark, .dark *) {
    border-color: var(--gray-600);
    background: var(--gray-900);
}

svg.kc-track-dot.kc-done {
    border-color: var(--success-500);
    background: var(--success-500);
    color: #fff;
}

svg.kc-track-dot.kc-current {
    border-color: var(--primary-600);
    background: var(--primary-600);
    color: #fff;
    box-shadow: 0 0 0 6px color-mix(in srgb, var(--primary-500) 18%, transparent);
}

svg.kc-track-dot.kc-off {
    border-color: var(--danger-300);
    color: var(--danger-500);
}

/* 2 Satis yolu: asamalar ok bicimli seritte, bulunulan asama dolu. */
.kc-path > .fi-grid {
    column-gap: 0.25rem;
}

.kc-path-step {
    height: 100%;
    padding: 0.625rem 1.25rem 0.625rem 1.75rem;
    background: var(--gray-100);
    color: var(--gray-500);
    clip-path: polygon(0 0, calc(100% - 0.875rem) 0, 100% 50%, calc(100% - 0.875rem) 100%, 0 100%, 0.875rem 50%);
}

.kc-path > .fi-grid > .fi-grid-col:first-child .kc-path-step {
    padding-inline-start: 1rem;
    border-radius: 0.5rem 0 0 0.5rem;
    clip-path: polygon(0 0, calc(100% - 0.875rem) 0, 100% 50%, calc(100% - 0.875rem) 100%, 0 100%);
}

.kc-path > .fi-grid > .fi-grid-col:last-child .kc-path-step {
    border-radius: 0 0.5rem 0.5rem 0;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 0.875rem 50%);
}

.kc-path-step .fi-sc-text {
    color: inherit;
}

.kc-path-step.kc-done {
    background: color-mix(in srgb, var(--success-500) 16%, #fff);
    color: var(--success-700);
}

.kc-path-step.kc-current {
    background: var(--primary-600);
    color: #fff;
}

.kc-path-step.kc-lost {
    background: var(--danger-600);
    color: #fff;
}

.kc-path-step.kc-off {
    color: var(--gray-400);
    text-decoration: line-through;
}

.kc-path-step:where(.dark, .dark *) {
    background: var(--gray-800);
    color: var(--gray-400);
}

.kc-path-step.kc-done:where(.dark, .dark *) {
    background: color-mix(in srgb, var(--success-500) 25%, var(--gray-900));
    color: var(--success-300);
}

.kc-path-step.kc-current:where(.dark, .dark *) {
    background: var(--primary-600);
    color: #fff;
}

.kc-guide {
    margin-top: 0.75rem;
    padding: 1rem 1.25rem;
    border: 1px solid color-mix(in srgb, var(--primary-500) 22%, transparent);
    border-radius: 0.75rem;
    background: color-mix(in srgb, var(--primary-500) 5%, transparent);
}

.kc-guide .fi-sc-unordered-list {
    --cols-sm: 1;
}

/* 3 Durum karti: buyuk simge ve buyuk durum cumlesi. */
svg.kc-status-icon {
    width: 3.5rem;
    height: 3.5rem;
    padding: 0.85rem;
    border-radius: 9999px;
    background: color-mix(in srgb, var(--primary-500) 12%, transparent);
    color: var(--primary-600);
}

svg.kc-status-icon.kc-draft {
    background: color-mix(in srgb, var(--warning-500) 15%, transparent);
    color: var(--warning-600);
}

svg.kc-status-icon.kc-won,
svg.kc-status-icon.kc-project {
    background: color-mix(in srgb, var(--success-500) 15%, transparent);
    color: var(--success-600);
}

svg.kc-status-icon.kc-lost {
    background: color-mix(in srgb, var(--danger-500) 12%, transparent);
    color: var(--danger-600);
}

.kc-status-headline {
    font-size: 1.5rem;
    line-height: 2rem;
    font-weight: 700;
    color: var(--gray-950);
}

.kc-status-headline:where(.dark, .dark *),
.kc-mock-title:where(.dark, .dark *) {
    color: #fff;
}

.kc-status-foot {
    padding-top: 0.75rem;
    border-top: 1px solid var(--gray-200);
}

.kc-status-foot:where(.dark, .dark *) {
    border-top-color: var(--gray-800);
}

/* 4-5 Anlatim ve soru-cevap: okunakli govde metni. */
.kc-story,
.kc-story .fi-prose,
.kc-story p {
    font-size: 1rem;
    line-height: 1.7rem;
}

/* 6 Yapilacaklar: her adim bir satir, siradaki adim vurgulu. */
.kc-todo-row {
    align-items: center;
    padding: 0.625rem 0.875rem;
    border: 1px solid transparent;
    border-radius: 0.75rem;
}

.kc-todo-row.kc-current {
    border-color: color-mix(in srgb, var(--primary-500) 25%, transparent);
    background: color-mix(in srgb, var(--primary-500) 6%, transparent);
}

svg.kc-todo-mark {
    width: 1.75rem;
    height: 1.75rem;
}

/* 7 Baslikta bagli is: gercek sayfa basligi olcusunde. */
.kc-mock-title {
    font-size: 1.5rem;
    line-height: 2rem;
    font-weight: 700;
    color: var(--gray-950);
}

/*
 * 8 Dikey hat: duraklar soldaki cizgiye dizili, bulunulan durak acik kart.
 * D-143: teklif ve potansiyel is detay sayfalarindaki "Bu is nerede?"
 * (App\Filament\Support\DealTrack) de bu kurallari ve .kc-chips / .kc-check
 * siniflarini kullanir; degistirirken iki yeri birlikte kontrol edin.
 */
.kc-metro > .fi-sc {
    row-gap: 0;
}

.kc-metro-stop {
    position: relative;
    padding: 0 0 1.25rem 2.5rem;
}

.kc-metro-stop::before {
    content: "";
    position: absolute;
    top: 1.5rem;
    bottom: 0;
    left: 0.6875rem;
    width: 3px;
    background: var(--gray-200);
}

.kc-metro-stop.kc-done::before {
    background: var(--success-500);
}

.kc-metro-stop.kc-metro-last::before {
    display: none;
}

.kc-metro-stop::after {
    content: "";
    position: absolute;
    top: 0.125rem;
    left: 0;
    box-sizing: border-box;
    width: 1.5rem;
    height: 1.5rem;
    border: 3px solid var(--gray-300);
    border-radius: 9999px;
    background: #fff;
}

.kc-metro-stop:where(.dark, .dark *)::after {
    background: var(--gray-900);
}

.kc-metro-stop.kc-done::after {
    border-color: var(--success-500);
    background: var(--success-500);
}

.kc-metro-stop.kc-current::after {
    border-color: var(--primary-600);
    background: var(--primary-600);
    box-shadow: 0 0 0 5px color-mix(in srgb, var(--primary-500) 18%, transparent);
}

.kc-metro-stop.kc-off::after {
    border-color: var(--danger-300);
}

.kc-metro-stop.kc-current > .fi-sc {
    padding: 1rem 1.25rem;
    border: 1px solid color-mix(in srgb, var(--primary-500) 22%, transparent);
    border-radius: 0.75rem;
    background: color-mix(in srgb, var(--primary-500) 5%, transparent);
}

/*
 * 9-12 Dikey hattin diger durak kartlari (D-142). .kc-card: potansiyel is ve
 * proje duragi da kart (proje yoksa kesik cizgili). .kc-metro-section: durakta
 * katlanir Section varken nokta basliga hizalanir; .kc-plain bulunulan durakta
 * ic kartin yerine Section'in kendi cercevesini kullanir (.kc-stop-now).
 * .kc-chips: ozet etiketler alt satira sarar.
 */
.kc-metro-stop.kc-card > .fi-sc {
    padding: 1rem 1.25rem;
    border: 1px solid var(--gray-200);
    border-radius: 0.75rem;
    background: #fff;
}

.kc-metro-stop.kc-card > .fi-sc:where(.dark, .dark *) {
    border-color: var(--gray-800);
    background: var(--gray-900);
}

.kc-metro-stop.kc-card.kc-todo > .fi-sc,
.kc-metro-stop.kc-card.kc-off > .fi-sc {
    border-style: dashed;
    background: transparent;
}

.kc-metro-stop.kc-current.kc-plain > .fi-sc {
    padding: 0;
    border: 0;
    background: none;
}

.kc-metro-stop.kc-metro-section::after {
    top: 0.85rem;
}

.kc-metro-stop.kc-metro-section::before {
    top: 2.35rem;
}

.kc-stop-now > .fi-section {
    box-shadow: 0 0 0 2px var(--primary-500);
}

.kc-chips.fi-sc-flex {
    flex-wrap: wrap;
    gap: 0.375rem;
}

.kc-check.fi-sc-flex {
    align-items: center;
    gap: 0.5rem;
}

/* Icerik alaninin sol menuye ve sag kenara uzakligi (2rem -> 1.25rem). */
@media (min-width: 64rem) {
    .fi-main {
        padding-inline: 1.25rem;
    }
}

/*
 * Kayit karti (UI deneme, 10 Eylul 2026): Filament Section tabanli kart.
 * Yan yana duran kartlarda her sey ayni hizada olsun diye bolgeler sabit
 * yuksekliktedir: gorsel kutusu (gorsel de simge de ayni kutu), tek satir
 * baslik/alt baslik, tek satir rozet, 2x2 bilgi alani; eylem satiri (footer)
 * her zaman kartin en altinda. Satirdaki kartlar grid hucresini doldurur.
 */
.konelsis-card-grid .fi-grid-col > .fi-sc-component,
.konelsis-card-grid > * {
    height: 100%;
}

.konelsis-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.konelsis-card:hover {
    box-shadow: 0 12px 28px -14px rgb(0 0 0 / 0.3);
    transform: translateY(-1px);
}

/* Tum kart tiklanabilir (11 Eylul 2026, kullanici istegi): bos alana tiklama
 * ayrinti sayfasina gider (bkz. CardGallery::card() 'onclick'); imlec bunu
 * belli etsin. Ic baglanti/dugmeler (telefon, e-posta, WhatsApp, Sohbet
 * baslat, Duzenle) kendi imlecini zaten tasir. */
.konelsis-card-clickable {
    cursor: pointer;
}

/* Sarmalayici > section > icerik kabi (icerik + footer): zincirin her halkasi esner. */
.konelsis-card > .fi-section,
.konelsis-card .fi-section-content-ctn {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.konelsis-card .fi-section-content {
    flex: 1 1 auto;
    gap: 0.625rem;
}

.konelsis-card .fi-section-footer {
    margin-top: auto;
}

/* Baslik ve alt baslik tek satir; tasarsa uc nokta. */
.konelsis-card .fi-section-header-text-ctn {
    min-width: 0;
}

.konelsis-card .fi-section-header-heading,
.konelsis-card .fi-section-header-description {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Gorsel kutusu: gorsel varsa kirpilir, yoksa simge ortalanir; yukseklik ayni. */
.konelsis-card-media {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 8rem;
    overflow: hidden;
    border-radius: 0.5rem;
    background: color-mix(in srgb, var(--gray-500) 8%, transparent);
}

.konelsis-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0.5rem;
}

.konelsis-card-media.konelsis-card-media-round img {
    width: 6rem;
    height: 6rem;
    border-radius: 9999px;
}

/* Rozet satiri: tek satir, en cok uc rozet; tasan gizlenir. */
.konelsis-card-badges {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.375rem;
    height: 1.75rem;
    overflow: hidden;
}

.konelsis-card-badges .fi-badge {
    white-space: nowrap;
}

/* Bilgi alanlari: 2x2, her alan tek satir; kutu yuksekligi sabit. */
.konelsis-card-entries {
    height: 6.25rem;
    overflow: hidden;
}

.konelsis-card-entries .fi-grid {
    gap: 0.5rem 1rem;
}

.konelsis-card-entries .fi-in-entry,
.konelsis-card-entries .fi-in-entry-content-col,
.konelsis-card-entries .fi-in-entry-content {
    min-width: 0;
}

.konelsis-card-entries .fi-in-entry-label,
.konelsis-card-entries .fi-in-entry-content {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Deger metni (telefon/e-posta gibi) Filament'te varsayilan olarak sarar
 * (.fi-wrapped -> white-space: normal, satir sinirlamasi yok) — dar kartlarda
 * iki satira tasiyordu (11 Eylul 2026, kullanici bildirimi). Kart alaninda
 * tek satir + tasarsa uc nokta gerekli; simge+metin ayni kutuda oldugu icin
 * kutunun kendisi tek satira sabitlenir. */
.konelsis-card-entries .fi-in-text-item {
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Yatay yerlesim: gorsel solda kare kutu, govde sagda. */
.konelsis-card-row .konelsis-card-media {
    height: 100%;
    min-height: 9.5rem;
}

.konelsis-card-row .konelsis-card-media img {
    height: 100%;
}

.konelsis-card-row .konelsis-card-media.konelsis-card-media-round img {
    width: 4.5rem;
    height: 4.5rem;
}

/*
 * Personel ayrinti karti (11 Eylul 2026, kullanici istegi): yatay kartin
 * ayrinti sayfasindaki hali. Liste kartindan farklari: rozetler kesilmez
 * (satir satir sarar), bilgi alaninin yuksekligi serbest, fotograf gri
 * kutu olmadan yalniz bir cember.
 */
.konelsis-card-detail .konelsis-card-badges {
    flex-wrap: wrap;
    height: auto;
    overflow: visible;
}

/* Flex cocuklari varsayilan olarak buyur (flex-basis 0) ve hic sarmaz;
   rozet metni kesilir. Ayrinti kartinda her rozet kendi genisliginde kalir
   ve sigmayan satira iner. */
.konelsis-card-detail .konelsis-card-badges > * {
    flex: 0 0 auto !important;
    width: auto !important;
}

.konelsis-card-detail .konelsis-card-entries {
    height: auto;
}

/* Fotograf olcusu CardGallery::card() icinde satir ici verilir (7rem);
   sutun daha darsa genislikle birlikte kucultulur ama hep kare kalir
   (satir ici yukseklik ezilmesin diye !important). */
.konelsis-card-detail .konelsis-card-media {
    background: transparent;
    min-height: 0;
}

.konelsis-card-detail .konelsis-card-media.konelsis-card-media-round img {
    max-width: 100%;
    height: auto !important;
    aspect-ratio: 1 / 1;
}

.fi-ta-content-grid .fi-ta-record {
    transition: box-shadow 0.15s ease;
}

.fi-ta-content-grid .fi-ta-record:hover {
    box-shadow: 0 12px 28px -14px rgb(0 0 0 / 0.3);
}

.konelsis-tcard-cover {
    width: 100%;
    height: 9rem;
    object-fit: cover;
    border-radius: 0.5rem;
}

/*
 * Eklenti denemesi: harvirsidhu/filament-cards (UI Deneme, 10 Eylul 2026).
 * Eklentinin gorunumleri Tailwind yardimci siniflariyla yazilmis ve derlenmis
 * bir tema bekler (README: theme.css'e @source). Bu projede ozel tema
 * derlemesi olmadigi icin kartin ihtiyac duydugu birkac kural burada
 * eklentinin kendi anlamli siniflari (.fi-cards-*) uzerinden verilir.
 */
.fi-cards-groups {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.fi-cards-search {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 1rem;
}

.fi-cards-group-heading {
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--gray-500);
}

.fi-cards-group-description {
    font-size: 0.75rem;
    color: var(--gray-400);
}

.fi-cards-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    overflow: hidden;
    border-radius: 0.75rem;
    background-color: var(--color-white, #fff);
    padding: 1rem;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    outline: 1px solid color-mix(in oklab, var(--gray-950) 6%, transparent);
    border-inline-start: 4px solid var(--color-500, var(--gray-300));
    transition: box-shadow 0.15s ease;
}

.fi-cards-card:where(.dark, .dark *) {
    background-color: var(--gray-900);
    outline-color: color-mix(in oklab, var(--color-white) 10%, transparent);
}

.fi-cards-card:hover {
    box-shadow: 0 10px 20px -12px rgb(0 0 0 / 0.3);
}

.fi-cards-card > div {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: flex-start;
}

.fi-cards-card > div > div {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 0.5rem;
}

.fi-cards-card-icon {
    width: 2.5rem;
    height: 2.5rem;
    flex-shrink: 0;
    color: var(--color-500, var(--gray-400));
}

.fi-cards-card-label {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--gray-700);
}

.fi-cards-card-label:where(.dark, .dark *) {
    color: var(--gray-200);
}

.fi-cards-card-description {
    font-size: 0.75rem;
    color: var(--gray-500);
}

.fi-cards-card-actions {
    position: relative;
    z-index: 10;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.25rem;
}

/* Kart listesi (D-79): arac cubugu ve sayfalama satiri. */
.konelsis-card-toolbar .fi-fo-field {
    margin: 0;
}

.konelsis-card-pagination .fi-sc-actions {
    flex-wrap: wrap;
    gap: 0.25rem;
}

/* ------------------------------------------------------------------------
   Kurum ici sohbet (D-83): sag alt baslatici, panel, liste, mesajlar.
   React arayuzu resources/js/chat/konelsis-chat.js; on ek kc-.
   ------------------------------------------------------------------------ */
:root {
    --kc-red: #dc2626;
    --kc-red-dark: #b91c1c;
    --kc-red-soft: #fee2e2;
    --kc-bg: #ffffff;
    --kc-bg-muted: #f8f8f8;
    --kc-border: #e7e5e4;
    --kc-text: #1c1917;
    --kc-text-muted: #78716c;
    --kc-bubble: #f3f4f6;
    --kc-bubble-mine: #fee2e2;
    --kc-shadow: 0 24px 60px -24px rgba(28, 25, 23, 0.45), 0 8px 24px -12px rgba(28, 25, 23, 0.3);
}

.dark {
    --kc-bg: #18181b;
    --kc-bg-muted: #202024;
    --kc-border: #2f2f36;
    --kc-text: #f4f4f5;
    --kc-text-muted: #a1a1aa;
    --kc-bubble: #27272a;
    --kc-bubble-mine: #4c1d1d;
    --kc-red-soft: #451a1a;
}

.kc-hidden { display: none !important; }

.kc-icon { width: 1.1rem; height: 1.1rem; flex: none; }

/*
 * Katman sirasi (11 Eylul 2026, kullanici bildirimi: dugme bazi ekranlarda
 * "Ileri" dugmelerinin ustune geliyordu): Filament'te acilir menu z-20,
 * kenar cubugu/ust cubuk z-30, modal ortusu z-40, modal z-50. Dugme 15'te
 * kalir ki acilir menuler ve modaller onun ustune cizilsin; acik panel 25'te
 * (icerigin ustunde, modalin altinda). Sayfa govdesine altta dugme kadar
 * bosluk birakilir; boylece sona kaydirilinca son satir (sihirbaz Ileri /
 * Kaydet / sayfalama) dugmenin ustunde degil, uzerinde durur.
 */
body:has(#konelsis-chat-root) .fi-main {
    padding-bottom: 6rem;
}

.kc-launcher {
    position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 15;
    width: 3.5rem; height: 3.5rem; border-radius: 9999px; border: 0;
    background: linear-gradient(135deg, var(--kc-red), var(--kc-red-dark));
    color: #fff; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 16px 30px -12px rgba(185, 28, 28, 0.7);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.kc-launcher:hover { transform: translateY(-2px); box-shadow: 0 20px 34px -12px rgba(185, 28, 28, 0.8); }
.kc-launcher .kc-icon { width: 1.6rem; height: 1.6rem; }
.kc-launcher-open { background: var(--kc-text); box-shadow: none; }

.kc-badge {
    position: absolute; top: -0.25rem; right: -0.25rem;
    min-width: 1.4rem; height: 1.4rem; padding: 0 0.35rem; border-radius: 9999px;
    background: #fff; color: var(--kc-red-dark); font-size: 0.75rem; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
    border: 2px solid var(--kc-red);
}

.kc-panel {
    position: fixed; right: 1.25rem; bottom: 5.5rem; z-index: 25;
    width: 24rem; max-width: calc(100vw - 2.5rem);
    /* Ust sinir (17 Eylul 2026, kullanici bildirimi): yapiskan ust cubuk
       4rem (z-30) + 1rem bosluk; kisa pencerede panel basligi ve Kapat
       dugmesi cubugun altina girmesin. */
    height: 38rem; max-height: calc(100vh - 10.5rem);
    background: var(--kc-bg); color: var(--kc-text);
    border: 1px solid var(--kc-border); border-radius: 1.25rem;
    box-shadow: var(--kc-shadow);
    display: flex; flex-direction: column; overflow: hidden;
    font-size: 0.9rem;
    animation: kc-rise 0.2s ease-out both;
}

@keyframes kc-rise {
    from { opacity: 0; transform: translateY(0.75rem) scale(0.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

/*
 * Dar ekran (telefon) ya da kisa pencere (yatay telefon, kucuk dizustu):
 * panel tam ekran olur (17 Eylul 2026, kullanici bildirimi: "ekran
 * kuculunce sigmiyor"). Boyut inset:0 ile gorunum alanindan alinir; 100vh /
 * 100vw kullanilmaz (mobil tarayicida adres cubugu 100vh'yi tasirir, alt
 * yazma alani ekran disinda kalir; masaustunde kaydirma cubugu 100vw'yi
 * tasirir). Tam ekranda panel ust cubugun (z-30) ustune cikar ki basligi
 * ve Kapat dugmesi gorunsun; Filament modal ortusu (z-40) yine ustte kalir.
 */
@media (max-width: 640px), (max-height: 480px) {
    .kc-panel { inset: 0; width: auto; max-width: none; height: auto; max-height: none; border-radius: 0; z-index: 35; }
    .kc-launcher { right: 1rem; bottom: 1rem; }
}

.kc-home, .kc-chat { display: flex; flex-direction: column; height: 100%; min-height: 0; }
.kc-body { display: flex; flex-direction: column; flex: 1; min-height: 0; }

.kc-header {
    display: flex; align-items: center; gap: 0.5rem;
    padding: 0.75rem 0.75rem 0.5rem; border-bottom: 1px solid var(--kc-border);
    background: var(--kc-bg);
}

.kc-logo { width: 1.75rem; height: 1.75rem; border-radius: 0.5rem; }
.kc-title { flex: 1; margin: 0; font-size: 1rem; font-weight: 700; }
.kc-header-chat { padding: 0.5rem 0.5rem; }
.kc-header-person { flex: 1; display: flex; align-items: center; gap: 0.6rem; min-width: 0; background: none; border: 0; padding: 0.25rem; cursor: pointer; text-align: left; color: inherit; border-radius: 0.75rem; }
.kc-header-person:hover:not(:disabled) { background: var(--kc-bg-muted); }
.kc-header-person:disabled { cursor: default; }
.kc-header-text { display: flex; flex-direction: column; min-width: 0; }
.kc-header-text strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kc-header-text small { color: var(--kc-text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 0.75rem; }
.kc-header-actions { display: flex; gap: 0.15rem; }

.kc-icon-btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 2.25rem; height: 2.25rem; border-radius: 0.75rem; border: 0;
    background: transparent; color: var(--kc-text-muted); cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.kc-icon-btn:hover { background: var(--kc-bg-muted); color: var(--kc-text); }
.kc-icon-btn-sm { width: 1.85rem; height: 1.85rem; }
.kc-icon-btn-sm .kc-icon { width: 0.95rem; height: 0.95rem; }
.kc-icon-btn.kc-danger:hover { background: var(--kc-red-soft); color: var(--kc-red-dark); }

.kc-tabs { display: flex; padding: 0.5rem 0.75rem 0; gap: 0.25rem; border-bottom: 1px solid var(--kc-border); }
.kc-tab {
    display: inline-flex; align-items: center; gap: 0.4rem;
    padding: 0.5rem 0.75rem; border: 0; border-bottom: 2px solid transparent;
    background: none; color: var(--kc-text-muted); font-weight: 600; cursor: pointer;
}
.kc-tab-active { color: var(--kc-red-dark); border-bottom-color: var(--kc-red); }

.kc-search { display: flex; align-items: center; gap: 0.5rem; margin: 0.6rem 0.75rem 0.25rem; padding: 0 0.75rem; border: 1px solid var(--kc-border); border-radius: 0.85rem; background: var(--kc-bg-muted); color: var(--kc-text-muted); }
.kc-search input { flex: 1; border: 0; background: transparent; padding: 0.55rem 0; color: var(--kc-text); outline: none; font-size: 0.9rem; min-width: 0; }
.kc-search input:focus { outline: none; box-shadow: none; }

.kc-group-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; padding: 0.35rem 0.75rem; }
.kc-hint { margin: 0 0.75rem 0.25rem; color: var(--kc-text-muted); font-size: 0.8rem; }
.kc-input { flex: 1; min-width: 8rem; border: 1px solid var(--kc-border); border-radius: 0.7rem; padding: 0.45rem 0.65rem; background: var(--kc-bg); color: var(--kc-text); font-size: 0.85rem; }
.kc-input:focus { outline: 2px solid var(--kc-red-soft); border-color: var(--kc-red); }

.kc-list { flex: 1; min-height: 0; overflow-y: auto; padding: 0.25rem 0.5rem 0.75rem; }
.kc-section { margin: 0.6rem 0.5rem 0.2rem; font-size: 0.7rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--kc-text-muted); font-weight: 700; }
.kc-empty { margin: 2rem 1rem; text-align: center; color: var(--kc-text-muted); }

.kc-row { position: relative; display: flex; align-items: center; border-radius: 0.85rem; }
.kc-row:hover { background: var(--kc-bg-muted); }
.kc-row-main { flex: 1; display: flex; align-items: center; gap: 0.65rem; min-width: 0; padding: 0.55rem 0.6rem; border: 0; background: none; color: inherit; text-align: left; cursor: pointer; border-radius: 0.85rem; }
.kc-row-doc { gap: 0.6rem; color: var(--kc-text); }
.kc-row-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.15rem; }
.kc-row-top, .kc-row-bottom { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; }
.kc-row-title { display: inline-flex; align-items: center; gap: 0.3rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kc-row-title .kc-icon { width: 0.85rem; height: 0.85rem; color: var(--kc-red); }
.kc-row-time { font-size: 0.72rem; color: var(--kc-text-muted); flex: none; }
.kc-row-preview { font-size: 0.8rem; color: var(--kc-text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kc-row-unread .kc-row-preview, .kc-row-unread .kc-row-title { color: var(--kc-text); }
.kc-unread { flex: none; min-width: 1.35rem; height: 1.35rem; padding: 0 0.4rem; border-radius: 9999px; background: var(--kc-red); color: #fff; font-size: 0.72rem; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.kc-typing { color: var(--kc-red-dark); font-style: italic; }
.kc-row-actions { display: none; align-items: center; gap: 0.1rem; padding-right: 0.35rem; }
.kc-row:hover .kc-row-actions, .kc-row-actions-visible { display: flex; }
.kc-check { display: flex; align-items: center; padding-left: 0.6rem; }

.kc-avatar { position: relative; flex: none; width: 2.5rem; height: 2.5rem; border-radius: 9999px; background: var(--kc-red-soft); color: var(--kc-red-dark); display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.85rem; overflow: visible; }
.kc-avatar img { width: 100%; height: 100%; border-radius: 9999px; object-fit: cover; }
.kc-avatar-sm { width: 1.85rem; height: 1.85rem; font-size: 0.7rem; }
.kc-avatar-xl { width: 5.5rem; height: 5.5rem; font-size: 1.6rem; }
.kc-presence { position: absolute; right: -0.05rem; bottom: -0.05rem; width: 0.7rem; height: 0.7rem; border-radius: 9999px; border: 2px solid var(--kc-bg); }
.kc-presence-on { background: #16a34a; }
.kc-presence-off { background: #a8a29e; }
.kc-avatar-xl .kc-presence { width: 1.1rem; height: 1.1rem; }

.kc-profile { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; padding: 1.5rem 1rem; text-align: center; }
.kc-profile h3 { margin: 0.5rem 0 0; font-size: 1.1rem; }
.kc-profile-status { margin: 0; color: var(--kc-text-muted); font-size: 0.85rem; }
.kc-profile-facts { display: grid; grid-template-columns: auto 1fr; gap: 0.35rem 0.75rem; width: 100%; max-width: 18rem; margin: 0.75rem 0 1rem; text-align: left; }
.kc-profile-facts dt { color: var(--kc-text-muted); font-size: 0.8rem; }
.kc-profile-facts dd { margin: 0; font-weight: 600; }

.kc-btn { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.55rem 0.9rem; border-radius: 0.75rem; border: 1px solid transparent; font-weight: 600; cursor: pointer; font-size: 0.85rem; }
.kc-btn-sm { padding: 0.35rem 0.65rem; font-size: 0.8rem; }
.kc-btn-primary { background: var(--kc-red); color: #fff; }
.kc-btn-primary:hover { background: var(--kc-red-dark); }
.kc-btn-primary:disabled { opacity: 0.5; cursor: not-allowed; }
.kc-btn-ghost { background: var(--kc-bg); color: var(--kc-text); border-color: var(--kc-border); }
.kc-btn-ghost:hover { background: var(--kc-bg-muted); }
.kc-btn-danger { background: var(--kc-red-dark); color: #fff; }

.kc-confirm { margin: 0.5rem 0.75rem; padding: 0.75rem; border-radius: 0.85rem; background: var(--kc-red-soft); color: var(--kc-text); border: 1px solid rgba(220, 38, 38, 0.3); }
.kc-confirm p { margin: 0 0 0.6rem; font-size: 0.85rem; }
.kc-confirm-actions { display: flex; justify-content: flex-end; gap: 0.4rem; }

.kc-toast { position: absolute; top: 0.75rem; left: 50%; transform: translateX(-50%); z-index: 2; padding: 0.5rem 0.9rem; border-radius: 0.75rem; background: var(--kc-red-dark); color: #fff; font-size: 0.8rem; box-shadow: 0 10px 20px -10px rgba(0, 0, 0, 0.5); max-width: 90%; }

.kc-messages { flex: 1; min-height: 0; overflow-y: auto; padding: 0.75rem 0.75rem 0.5rem; display: flex; flex-direction: column; gap: 0.35rem; background: var(--kc-bg-muted); }
.kc-load-more { align-self: center; margin-bottom: 0.5rem; }
.kc-day { display: flex; justify-content: center; margin: 0.5rem 0; }
.kc-day span { padding: 0.2rem 0.7rem; border-radius: 9999px; background: var(--kc-bg); color: var(--kc-text-muted); font-size: 0.72rem; border: 1px solid var(--kc-border); }

.kc-msg { display: flex; align-items: flex-end; gap: 0.4rem; max-width: 88%; }
.kc-msg-mine { align-self: flex-end; flex-direction: row-reverse; }
.kc-msg-avatar { border: 0; background: none; padding: 0; cursor: pointer; }
.kc-bubble { position: relative; padding: 0.5rem 0.7rem 0.35rem; border-radius: 1rem; background: var(--kc-bubble); color: var(--kc-text); min-width: 4rem; max-width: 100%; word-break: break-word; }
.kc-msg-mine .kc-bubble { background: var(--kc-bubble-mine); border-bottom-right-radius: 0.3rem; }
.kc-msg:not(.kc-msg-mine) .kc-bubble { border-bottom-left-radius: 0.3rem; }
.kc-msg-author { display: block; font-size: 0.72rem; font-weight: 700; color: var(--kc-red-dark); margin-bottom: 0.15rem; }
.kc-msg-text { margin: 0; white-space: pre-wrap; line-height: 1.4; }
.kc-msg-meta { display: block; text-align: right; font-size: 0.68rem; color: var(--kc-text-muted); margin-top: 0.2rem; }
.kc-msg-tools { display: flex; flex-direction: column; gap: 0.1rem; opacity: 0; transition: opacity 0.15s ease; }
.kc-msg:hover .kc-msg-tools { opacity: 1; }
.kc-msg-tools .kc-icon-btn { text-decoration: none; }
.kc-inline-link { color: var(--kc-red-dark); text-decoration: underline; }

.kc-link-card { display: flex; align-items: center; gap: 0.55rem; margin: 0.35rem 0 0.15rem; padding: 0.5rem 0.6rem; border-radius: 0.75rem; background: var(--kc-bg); border: 1px solid var(--kc-border); color: inherit; text-decoration: none; }
.kc-link-card:hover { border-color: var(--kc-red); }
.kc-link-card .kc-icon { color: var(--kc-red-dark); }
.kc-link-body { display: flex; flex-direction: column; min-width: 0; }
.kc-link-body strong { font-size: 0.82rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kc-link-body small { font-size: 0.7rem; color: var(--kc-text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kc-link-denied { border-style: dashed; border-color: var(--kc-red); background: var(--kc-red-soft); }
.kc-link-denied .kc-link-body small { color: var(--kc-red-dark); font-weight: 700; }

.kc-file-card { margin: 0.35rem 0 0.15rem; border-radius: 0.75rem; background: var(--kc-bg); border: 1px solid var(--kc-border); overflow: hidden; }
.kc-file-image { display: block; }
.kc-file-image img { display: block; width: 100%; max-height: 14rem; object-fit: cover; }
.kc-file-row { display: flex; align-items: center; gap: 0.5rem; padding: 0.45rem 0.6rem; }
.kc-file-row .kc-icon { color: var(--kc-red-dark); }
.kc-file-row .kc-link-body { flex: 1; }

.kc-typing-row { display: flex; align-items: center; gap: 0.4rem; color: var(--kc-text-muted); font-size: 0.78rem; padding: 0.15rem 0.25rem; }
.kc-typing-dots { display: inline-flex; gap: 0.2rem; }
.kc-typing-dots i { width: 0.4rem; height: 0.4rem; border-radius: 9999px; background: var(--kc-red); animation: kc-blink 1.2s infinite ease-in-out; }
.kc-typing-dots i:nth-child(2) { animation-delay: 0.2s; }
.kc-typing-dots i:nth-child(3) { animation-delay: 0.4s; }

@keyframes kc-blink {
    0%, 80%, 100% { opacity: 0.25; transform: translateY(0); }
    40% { opacity: 1; transform: translateY(-0.15rem); }
}

.kc-composer { border-top: 1px solid var(--kc-border); padding: 0.5rem 0.6rem; background: var(--kc-bg); display: flex; flex-direction: column; gap: 0.35rem; }
.kc-composer-row { display: flex; align-items: flex-end; gap: 0.15rem; }
.kc-textarea { flex: 1; resize: none; max-height: 7rem; min-height: 2.4rem; padding: 0.55rem 0.7rem; border: 1px solid var(--kc-border); border-radius: 0.9rem; background: var(--kc-bg-muted); color: var(--kc-text); font: inherit; font-size: 0.9rem; line-height: 1.35; }
.kc-textarea:focus { outline: 2px solid var(--kc-red-soft); border-color: var(--kc-red); }
.kc-send { flex: none; width: 2.5rem; height: 2.5rem; border-radius: 9999px; border: 0; background: var(--kc-red); color: #fff; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.kc-send:hover { background: var(--kc-red-dark); }
.kc-send:disabled { opacity: 0.45; cursor: not-allowed; }
.kc-chip { display: flex; align-items: center; gap: 0.4rem; padding: 0.25rem 0.35rem 0.25rem 0.6rem; border-radius: 0.75rem; background: var(--kc-red-soft); color: var(--kc-red-dark); font-size: 0.8rem; }
.kc-chip-text { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kc-link-input { display: flex; align-items: center; gap: 0.35rem; }

.kc-overlay { position: absolute; inset: 0; z-index: 3; display: flex; flex-direction: column; background: var(--kc-bg); }
.kc-overlay-head { display: flex; align-items: center; justify-content: space-between; padding: 0.75rem 0.5rem 0.5rem 0.9rem; border-bottom: 1px solid var(--kc-border); }

/*
 * Dokunmatik cihazda "ustune gelme" (hover) yoktur: sohbet satirindaki
 * sabitle/sil ve mesaj yanindaki sil/talep ac dugmeleri hep gorunur olsun
 * (17 Eylul 2026). Bu kurallar yukaridaki display:none / opacity:0'dan
 * sonra gelmeli ki uygulansin.
 */
@media (hover: none) {
    .kc-row-actions { display: flex; }
    .kc-msg-tools { opacity: 1; }
}

/* Talep yazismasi (B32): talep ilk mesaj, cevaplar altinda balon. */
.wr-thread { display: flex; flex-direction: column; gap: 0.75rem; }
.wr-msg {
    max-width: 48rem;
    padding: 0.75rem 1rem;
    border-radius: 0.75rem;
    background: var(--gray-100);
    border: 1px solid color-mix(in oklab, var(--gray-950) 6%, transparent);
}
.wr-msg--first { background: var(--gray-50); border-inline-start: 4px solid var(--kc-red, #dc2626); }
.wr-msg--mine { align-self: flex-end; background: color-mix(in oklab, var(--kc-red, #dc2626) 8%, var(--color-white, #fff)); }
.wr-msg__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.25rem 0.75rem; font-size: 0.8125rem; }
.wr-msg__head span, .wr-msg__head em { color: var(--gray-500); font-style: normal; }
.wr-msg__head em { margin-inline-start: auto; }
.wr-msg__body { margin-top: 0.375rem; font-size: 0.9375rem; overflow-wrap: anywhere; }
.wr-msg__body p + p { margin-top: 0.375rem; }
.wr-msg__title { font-weight: 600; }
.wr-msg__body a, .wr-file a { color: var(--kc-red-dark, #b91c1c); text-decoration: underline; }
.wr-forward {
    padding: 0.5rem 0.75rem;
    border-radius: 0.5rem;
    border: 1px dashed var(--gray-300);
    font-size: 0.8125rem;
    color: var(--gray-600);
}
.wr-forward span { margin-inline-start: 0.5rem; color: var(--gray-500); }
.wr-files { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0.5rem; }
.wr-file { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.375rem 0.625rem; border-radius: 0.5rem; background: var(--color-white, #fff); border: 1px solid var(--gray-200); font-size: 0.8125rem; }
.wr-file--image { padding: 0; overflow: hidden; }
.wr-file--image img { display: block; max-height: 9rem; max-width: 14rem; object-fit: cover; }
.wr-compose { display: flex; flex-direction: column; gap: 0.5rem; align-items: flex-start; }
.wr-compose > *:first-child { width: 100%; }
.wr-closed { font-size: 0.8125rem; color: var(--gray-500); }
.dark .wr-msg { background: var(--gray-800); border-color: color-mix(in oklab, var(--color-white) 10%, transparent); }
.dark .wr-msg--first { background: var(--gray-900); }
.dark .wr-msg--mine { background: color-mix(in oklab, var(--kc-red, #dc2626) 18%, var(--gray-900)); }
.dark .wr-forward { border-color: var(--gray-600); color: var(--gray-300); }
.dark .wr-file { background: var(--gray-900); border-color: var(--gray-700); }
.dark .wr-msg__body a, .dark .wr-file a { color: var(--gray-200); }

/* Yan yana kart + ozet izgarasi (taraf ayrintisi): sutunlar birbirine gore
   esnemez, her biri kendi boyunu korur (21 Eylul 2026 kullanici istegi). */
.kc-grid-top, .kc-grid-top > .fi-grid { align-items: start; }

/* Sihirbaz alt satirindaki adim "Kaydet"i (SaveableWizard): "Ileri"nin hemen
   solunda, sag grupta durur (22 Eylul 2026 kullanici karari ve onayi, D-112). */
.fi-sc-wizard-footer > .kc-wizard-save { margin-inline-start: auto; }

/* Kart secici (App\Filament\Forms\Components\CardPicker): rapor taslagi gibi
   secimlerde ikon + baslik + aciklama kartlari (23 Eylul 2026 kullanici
   istegi ve ornek gorseli). Filament'in Select / Radio / ToggleButtons
   bilesenleri bu gorunumu vermedigi icin eklendi. */
.kc-picker { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 0.75rem; }
.kc-picker-card {
    display: grid; justify-items: center; align-content: start; gap: 0.5rem;
    padding: 1.15rem 1rem; text-align: center; cursor: pointer;
    background: var(--kc-bg, #fff); border: 1px solid var(--kc-border, #e7e5e4); border-radius: 0.9rem;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.kc-picker-card:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 8px 22px -14px rgba(28, 25, 23, .55); border-color: var(--kc-text-muted, #78716c); }
.kc-picker-card:focus-visible { outline: 2px solid var(--kc-red, #dc2626); outline-offset: 2px; }
.kc-picker-card.is-selected { border-color: var(--kc-red, #dc2626); box-shadow: 0 0 0 1px var(--kc-red, #dc2626); }
.kc-picker-card:disabled { opacity: .6; cursor: not-allowed; }
.kc-picker-icon {
    display: grid; place-items: center; width: 3.25rem; height: 3.25rem; border-radius: 1rem;
    background: var(--kc-red-soft, #fee2e2); color: var(--kc-red, #dc2626);
}
.kc-picker-icon svg { width: 1.5rem; height: 1.5rem; }
.kc-picker-card.is-selected .kc-picker-icon { background: var(--kc-red, #dc2626); color: #fff; }
.kc-picker-title { font-size: 0.875rem; font-weight: 600; color: var(--kc-text, #1c1917); }
.kc-picker-text { font-size: 0.75rem; line-height: 1.45; color: var(--kc-text-muted, #78716c); }

/* Alan basliklari kalin (23 Eylul 2026 kullanici istegi): Filament'in form ve
   goruntuleme etiketleri 500 agirliktaydi ve duz yazi gibi okunuyordu; baslik
   olduklari anlasilsin diye 600'e cikarildi. Kendi kartlarimiz da ayni
   agirligi kullanir. */
.fi-fo-field-label-content,
.fi-in-entry .fi-in-entry-label,
.fi-fo-fieldset-label,
.fi-sc-field-label { font-weight: 600; }

/*
 * Hizli islemler dairesi (D-122, kullanici onayi 24 Eylul 2026): ust cubuktaki
 * "Hizli islemler" dugmesinin actigi panelde islemler bir dairenin cevresine
 * dizilir (Dynamics 365 tarzi). Konum --kc-qa-i (sira) ve --kc-qa-n (toplam)
 * ile hesaplanir; ilk islem tepededir, saat yonunde ilerler.
 */
.kc-qa {
    --kc-qa-size: 20rem;
    --kc-qa-radius: 7rem;
    --kc-qa-bubble: 3rem;
    position: relative;
    width: var(--kc-qa-size);
    height: var(--kc-qa-size);
    margin: 0.5rem auto 2rem;
}
.kc-qa::before {
    content: "";
    position: absolute;
    inset: calc(50% - var(--kc-qa-radius));
    border-radius: 9999px;
    border: 1px dashed var(--gray-300);
}
.kc-qa-center {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 8rem;
    height: 8rem;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    border-radius: 9999px;
    background: #fff;
    box-shadow: 0 12px 28px -14px rgb(0 0 0 / 0.45), inset 0 0 0 1px var(--gray-200);
    text-align: center;
}
.kc-qa-center-icon { width: 1.5rem; height: 1.5rem; color: var(--primary-600); }
.kc-qa-center-title { padding: 0 0.75rem; font-size: 0.875rem; font-weight: 700; line-height: 1.2; color: var(--gray-900); }
.kc-qa-node {
    --kc-qa-angle: calc(360deg / var(--kc-qa-n) * var(--kc-qa-i) - 90deg);
    position: absolute;
    left: calc(50% + cos(var(--kc-qa-angle)) * var(--kc-qa-radius));
    top: calc(50% + sin(var(--kc-qa-angle)) * var(--kc-qa-radius));
    width: 5.75rem;
    transform: translate(-50%, calc(var(--kc-qa-bubble) / -2));
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.3rem;
    text-decoration: none;
}
.kc-qa-bubble {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--kc-qa-bubble);
    height: var(--kc-qa-bubble);
    border-radius: 9999px;
    background: var(--primary-600);
    color: #fff;
    box-shadow: 0 0 0 4px #fff, 0 8px 18px -8px rgb(0 0 0 / 0.5);
    transition: transform 0.15s ease, background-color 0.15s ease;
}
.kc-qa-icon { width: 1.4rem; height: 1.4rem; }
.kc-qa-label {
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.15;
    text-align: center;
    color: var(--gray-700);
}
.kc-qa-node:hover .kc-qa-bubble,
.kc-qa-node:focus-visible .kc-qa-bubble { transform: scale(1.08); background: var(--primary-700); }
.kc-qa-node:focus-visible { outline: none; }
.kc-qa-node:focus-visible .kc-qa-label { text-decoration: underline; }
.kc-qa-node-add .kc-qa-bubble {
    background: #fff;
    color: var(--primary-600);
    border: 2px dashed var(--primary-400);
    box-shadow: none;
}
.kc-qa-node-add:hover .kc-qa-bubble { background: var(--primary-50); }
.kc-qa-center:where(.dark, .dark *) { background: var(--gray-900); box-shadow: 0 12px 28px -14px rgb(0 0 0 / 0.8), inset 0 0 0 1px var(--gray-700); }
.kc-qa-center-title:where(.dark, .dark *) { color: #fff; }
.kc-qa:where(.dark, .dark *)::before { border-color: var(--gray-700); }
.kc-qa-bubble:where(.dark, .dark *) { box-shadow: 0 0 0 4px var(--gray-900), 0 8px 18px -8px rgb(0 0 0 / 0.8); }
.kc-qa-label:where(.dark, .dark *) { color: var(--gray-200); }
.kc-qa-node-add .kc-qa-bubble:where(.dark, .dark *) { background: var(--gray-900); }

/*
 * Tablo kurallari (D-125, 25 Eylul 2026): satirdaki "Goruntule / Ac" dugmesi
 * gosterilmez; satira tiklamak detayi acar. Eylem kayitli kalir, detay sayfasi
 * olmayan kayitta satir tiklamasi ayni pencereyi acar
 * (App\Filament\Support\TableConventions).
 */
.kc-row-action-hidden { display: none !important; }

/*
 * Ust cubuk profil alani (D-145, 30 Eylul 2026, kullanici onayi): avatar, ad,
 * altinda unvan ve asagi ok; solunda ince ayirici. Dar ekranda (lg altinda)
 * yalniz avatar kalir. Blade: resources/views/vendor/filament-panels/
 * components/user-menu.blade.php (Filament kopyasi, yalniz ust cubuk dugmesi).
 */
.fi-topbar .fi-user-menu {
    margin-inline-start: 0.25rem;
    padding-inline-start: 0.5rem;
    border-inline-start: 1px solid var(--gray-200);
}

.fi-topbar .fi-user-menu:where(.dark, .dark *) {
    border-inline-start-color: var(--gray-700);
}

/* Filament'in flex kurali yalniz kenar cubugu menusune uygulaniyor; ust cubukta blok kaliyordu. */
.kc-user-trigger.fi-user-menu-trigger {
    display: flex;
    align-items: center;
    width: auto;
    column-gap: 0.625rem;
    padding-block: 0.25rem;
}

.kc-user-trigger .kc-user-trigger-chevron {
    flex-shrink: 0;
    color: var(--gray-400);
}

.kc-user-trigger-text,
.kc-user-trigger .kc-user-trigger-chevron {
    display: none;
}

@media (min-width: 64rem) {
    .kc-user-trigger-text {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        min-width: 0;
        line-height: 1.2;
        text-align: start;
    }

    .kc-user-trigger .kc-user-trigger-chevron {
        display: block;
        width: 1rem;
        height: 1rem;
        margin-inline-start: 0.25rem;
    }
}

.kc-user-trigger-name {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--gray-950);
    white-space: nowrap;
}

.kc-user-trigger-title {
    max-width: 14rem;
    overflow: hidden;
    font-size: 0.75rem;
    font-weight: 400;
    color: var(--gray-500);
    white-space: nowrap;
    text-overflow: ellipsis;
}

.kc-user-trigger-name:where(.dark, .dark *) { color: #fff; }
.kc-user-trigger-title:where(.dark, .dark *) { color: var(--gray-400); }

/*
 * Genel bakis (D-146, 30 Eylul 2026 kullanici tasarimi). Duzen Filament
 * semasidir (Dashboard::content(): 3/4 + 1/4); buradaki kurallar yalniz
 * tasarimdaki ayrintilar: arama ust cubugun solunda, baslik boyutu, sayi
 * renkleri, tablo sekmeleri, simge kutucuklari, noktali durum rozeti, duyuru
 * kutusu ve sosyal medya gun kutucugu.
 */
.fi-topbar-end {
    flex: 1;
    margin-inline-start: 0;
}

.fi-topbar-end > .fi-global-search-ctn {
    flex: 0 1 26rem;
    min-width: 12rem;
    margin-inline-end: auto;
}

/* Yer daralinca once arama kisalir; kisayol dugmeleri alt satira kirilmaz. */
.fi-topbar-end > :not(.fi-global-search-ctn) {
    flex-shrink: 0;
}

/*
 * Zorunlu alan isareti (D-231, 21 Ekim 2026 kullanici: "Butun projede zorunlu
 * alanlar * yerine parantez icinde daha kucuk font ile (zorunlu) yazilsin"):
 * Filament'in "*" isareti (alan etiketi, alan grubu, tablo tekrarlayici
 * basligi) gizlenir, yerine kucuk "(zorunlu)" yazilir; Ingilizcede
 * "(required)". Renk Filament'in zorunlu rengi kalir.
 */
.fi-fo-field-label-required-mark,
.fi-fieldset-label-required-mark,
.fi-fo-table-repeater-header-required-mark {
    top: 0;
    margin-inline-start: 0.25rem;
    font-size: 0;
    line-height: 1;
    vertical-align: baseline;
}

.fi-fo-field-label-required-mark::after,
.fi-fieldset-label-required-mark::after,
.fi-fo-table-repeater-header-required-mark::after {
    content: "(zorunlu)";
    font-size: 0.75rem;
    font-weight: 400;
}

html[lang|="en"] .fi-fo-field-label-required-mark::after,
html[lang|="en"] .fi-fieldset-label-required-mark::after,
html[lang|="en"] .fi-fo-table-repeater-header-required-mark::after {
    content: "(required)";
}

/*
 * Dar ekranda uc nokta menusu (D-224, 19 Ekim 2026 kullanici: "ekran boyutuna
 * gore o 3 noktadaki menuler dolacak"). Menu App\Filament\Support\TopbarShortcuts
 * ::moreMenu (Filament eylem grubu); burada yalniz hangi genislikte neyin
 * nerede durdugu. Ekran daraldikca kisayollar ust cubuktan menuye gecer:
 *   1440 alti  TR / EN ve Kontrol matrisi (p4)
 *    768 alti  Tum bildirimler ve Is panosu (p2)
 *    640 alti  Hizli islemler (p1); arama simgeye doner, dokununca acilir.
 * Ust cubukta `kc-tb-pN`, menude `kc-tb-more-pN`; dil dugmeleri ve Hizli
 * islemler kendi gorunumleridir (role="group", .kc-qa-dropdown). Her sey
 * sigdiginda (1440 ve ustu) uc nokta yoktur. Menude yalniz ust cubukta
 * olmayanlar gorunur; bos kalan bolum gizlenir. Sablonlar (D-226) menuye
 * gecmez: satirlarinda Goruntule / Indir var, dar ekranda simge olarak kalir.
 * p3 kademesi (1280 alti) bos; yeni bir kisayol icin hazir.
 */
.kc-tb-more .kc-tb-more-p1,
.kc-tb-more .kc-tb-more-p2,
.kc-tb-more .kc-tb-more-p3,
.kc-tb-more .kc-tb-more-p4 {
    display: none;
}

@media (min-width: 90rem) {
    .fi-topbar .fi-topbar-end > .kc-tb-more {
        display: none;
    }
}

@media (max-width: 89.999rem) {
    .fi-topbar .fi-topbar-end > .kc-tb-p4 {
        display: none;
    }

    /* Dil dugmelerinin kendi satir ici display kurali var. */
    .fi-topbar .fi-topbar-end > [role="group"] {
        display: none !important;
    }

    .kc-tb-more .kc-tb-more-p4 {
        display: flex;
    }
}

@media (min-width: 80rem) {
    .kc-tb-more .fi-dropdown-list:not(:has(> .kc-tb-more-p4)) {
        display: none;
    }
}

@media (max-width: 79.999rem) {
    /* Etiketli dugmeler (lg-xl) sigsin diye aralik ve arama alt siniri dar. */
    .fi-topbar .fi-topbar-end {
        column-gap: 0.5rem;
    }

    .fi-topbar .fi-topbar-end > .fi-global-search-ctn {
        min-width: 10rem;
    }

    .fi-topbar .fi-topbar-end > .kc-tb-p3 {
        display: none;
    }

    .kc-tb-more .kc-tb-more-p3 {
        display: flex;
    }
}

/*
 * Sablonlar menusu (D-226; Goruntule / Indir dugmeleri kullanici onayi 19 Ekim
 * 2026): Blade filament.components.template-menu. Bolum basligi kucuk gri
 * satir; sablon satiri ad + uzanti + iki simge dugmesi; telefonda ekrana sigar.
 */
.kc-tpl-menu .fi-dropdown-panel {
    max-width: calc(100vw - 1rem);
}

.kc-tpl-head {
    padding: 0.375rem 0.5rem 0.125rem;
    color: var(--gray-500);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.kc-tpl-head:where(.dark, .dark *) { color: var(--gray-400); }

.kc-tpl-row {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.125rem 0.25rem 0.125rem 0.5rem;
    border-radius: 0.375rem;
}

.kc-tpl-row:hover { background-color: var(--gray-50); }
.kc-tpl-row:where(.dark, .dark *):hover { background-color: rgb(255 255 255 / 0.05); }

.kc-tpl-icon {
    flex: none;
    width: 1.25rem;
    height: 1.25rem;
    color: var(--gray-400);
}

.kc-tpl-name {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    color: var(--gray-700);
    font-size: 0.875rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kc-tpl-name:where(.dark, .dark *) { color: var(--gray-200); }

.kc-tpl-ext {
    flex: none;
    padding: 0 0.3125rem;
    border-radius: 0.25rem;
    background-color: var(--gray-100);
    color: var(--gray-600);
    font-size: 0.625rem;
    font-weight: 600;
    line-height: 1.125rem;
}

.kc-tpl-ext:where(.dark, .dark *) { background-color: var(--gray-800); color: var(--gray-300); }

.kc-tpl-empty {
    padding: 0.5rem;
    color: var(--gray-500);
    font-size: 0.875rem;
}

.kc-tb-more .fi-dropdown-list-item-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (min-width: 48rem) {
    .kc-tb-more .fi-dropdown-list:not(:has(> .kc-tb-more-p3, > .kc-tb-more-p4)) {
        display: none;
    }
}

@media (max-width: 47.999rem) {
    .fi-topbar .fi-topbar-end > .kc-tb-p2 {
        display: none;
    }

    .kc-tb-more .kc-tb-more-p2 {
        display: flex;
    }
}

@media (min-width: 40rem) {
    .kc-tb-more .fi-dropdown-list:not(:has(> .kc-tb-more-p2, > .kc-tb-more-p3, > .kc-tb-more-p4)) {
        display: none;
    }
}

@media (max-width: 39.999rem) {
    .fi-topbar .fi-topbar-end {
        column-gap: 0.75rem;
    }

    .fi-topbar .fi-topbar-end > .kc-tb-p1,
    .fi-topbar .fi-topbar-end > .kc-qa-dropdown {
        display: none;
    }

    .kc-tb-more .kc-tb-more-p1 {
        display: flex;
    }

    /* Arama simge: kare alan, simge ortada, dokunus girdiye gider. */
    .fi-topbar .fi-topbar-end > .fi-global-search-ctn {
        flex: 0 0 auto;
        min-width: 0;
    }

    .fi-topbar .fi-global-search-ctn:not(:focus-within) .fi-global-search-field {
        width: 2.25rem;
    }

    .fi-topbar .fi-global-search-ctn:not(:focus-within) .fi-input-wrp {
        position: relative;
        height: 2.25rem;
        box-shadow: none;
        background-color: transparent;
    }

    .fi-topbar .fi-global-search-ctn:not(:focus-within) .fi-input-wrp-prefix {
        position: absolute;
        inset: 0;
        justify-content: center;
        padding: 0;
        pointer-events: none;
    }

    .fi-topbar .fi-global-search-ctn:not(:focus-within) .fi-input-wrp-suffix {
        display: none;
    }

    .fi-topbar .fi-global-search-ctn:not(:focus-within) .fi-input {
        width: 100%;
        height: 2.25rem;
        padding: 0;
        color: transparent;
        caret-color: transparent;
        cursor: pointer;
    }

    .fi-topbar .fi-global-search-ctn:not(:focus-within) .fi-input::placeholder {
        color: transparent;
    }

    .fi-topbar .fi-global-search-ctn:not(:focus-within) .fi-input::-webkit-search-cancel-button {
        display: none;
    }

    /* Dokununca ust cubugun tamamini kaplar; sonuclar altinda acilir. */
    .fi-topbar .fi-global-search-ctn:focus-within {
        position: absolute;
        inset-block: 0;
        inset-inline: 1rem;
        z-index: 30;
        background-color: #fff;
    }

    .fi-topbar .fi-global-search-ctn:focus-within:where(.dark, .dark *) {
        background-color: var(--gray-900);
    }
}

/* Baslik ile alt basligi arasi dar. */
.kc-dash-heading .fi-sc {
    row-gap: 0.25rem;
}

.kc-dash-title {
    font-size: 1.875rem;
    line-height: 2.25rem;
    font-weight: 700;
    letter-spacing: -0.025em;
    color: var(--gray-950);
}

.kc-dash-title:where(.dark, .dark *) { color: #fff; }

/* Sayi renkleri (D-147): Bugün mavi, Geciken kirmizi, Yaklaşan turuncu. */
.kc-stat-info .fi-wi-stats-overview-stat-value,
.kc-stat-info .fi-icon { color: var(--info-600); }

.kc-stat-danger .fi-wi-stats-overview-stat-value,
.kc-stat-danger .fi-icon { color: var(--danger-600); }

.kc-stat-orange .fi-wi-stats-overview-stat-value,
.kc-stat-orange .fi-icon { color: var(--orange-500); }

.kc-stat-success .fi-wi-stats-overview-stat-value,
.kc-stat-success .fi-icon { color: var(--success-600); }

.kc-stat-gray .fi-wi-stats-overview-stat-value,
.kc-stat-gray .fi-icon { color: var(--gray-500); }

/* Yeni pano taslagi (D-207): liste sekmeleri kaydirinca ustte sabit kalir
 * (12 Ekim notlari: "ust sabit"). */
.kc-sticky-tabs > .fi-tabs {
    position: sticky;
    top: 4rem;
    z-index: 15;
    background-color: #fff;
    border-top-left-radius: 0.75rem;
    border-top-right-radius: 0.75rem;
}

.kc-sticky-tabs > .fi-tabs:where(.dark, .dark *) {
    background-color: var(--gray-900);
}

/* Gorevlerim ve islerim: sekmeler (tablo arac cubugu eylemleri). */
.kc-tab.fi-link {
    padding-block: 0.375rem;
    border-bottom: 2px solid transparent;
    font-weight: 500;
}

.kc-tab.kc-tab-active { border-bottom-color: var(--primary-600); }

/* Secili grubun adi sekmede yazili; tabloda ilk grup basligi tekrarlanmaz. */
.fi-ta:has(.kc-tab-active) tbody > .fi-ta-group-header-row:first-child { display: none; }

/* Baslik sutunundaki simge kendi renginde yumusak bir kutucukta. */
.kc-tile-icon .fi-icon {
    box-sizing: content-box;
    padding: 0.375rem;
    border-radius: 0.5rem;
    background-color: color-mix(in oklab, currentColor 14%, transparent);
}

/* Durum rozeti basinda nokta. */
.kc-dot-badge .fi-badge::before {
    content: '';
    width: 0.375rem;
    height: 0.375rem;
    border-radius: 9999px;
    background-color: currentColor;
}

/* Avatar ile isim yan yana (tasarimdaki Sorumlu hucresi). */
.fi-ta:has(.kc-tab) .fi-ta-cell-avatar .fi-ta-image {
    padding-inline-end: 0.25rem;
}

.fi-ta:has(.kc-tab) .fi-ta-cell-avatar + .fi-ta-cell {
    padding-inline-start: 0.25rem;
}

/* Geciken satirda gun adi da kirmizi. */
.kc-overdue .fi-ta-text-description { color: var(--danger-600); }

/* Kart tablosunda (Split) sol simge basligin hizasinda, ustte (Duyurular, D-150). */
.fi-ta-record .fi-ta-split.kc-split-top {
    align-items: flex-start;
}

/* Sosyal medya: gun ve ay kutucugu, sagindan ince cizgi. */
.kc-date-tile {
    min-width: 2.5rem;
    padding-inline-end: 0.75rem;
    border-inline-end: 1px solid var(--gray-200);
    text-align: center;
    line-height: 1.1;
}

.kc-date-tile:where(.dark, .dark *) { border-inline-end-color: var(--gray-700); }

/*
 * Ihale -> Potansiyel is -> Teklif zinciri (B43, D-155; 5 Ekim 2026 kullanici
 * onayi: kalp atisi animasyonu kucuk CSS + PHP'de kucuk HTML). Kontrol listesi
 * tahtasi ve Kaydet / Ileri ozeti konelsis-checklist.css'te (D-157, React).
 */

/* Sihirbaz alt satiri: "Taslak olarak kaydet" ile "Kaydet" ayni kutuda yan yana. */
.kc-wizard-save { display: flex; align-items: center; gap: 0.75rem; }

/* Teklif sicakligi (D-157 yenilemesi): kalp seviyeyle renk degistirir ve
   hizlanir ("lub-dub" atisi), parlamasi da atisla buyur; serit maviden kirmiziya
   doluluk oranina kadar gorunur; buyuk gosterimde (--lg) yaninda ayni hizda
   akan EKG cizgisi vardir. Renkler sabit: Filament paletinde turuncu yok. */
.kc-heat { --kc-heat-color: #a1a1aa; --kc-heat-beat: 1.6s; display: inline-flex; align-items: center; gap: 0.75rem; min-width: 11rem; }
.kc-heat--cold { --kc-heat-color: #3b82f6; --kc-heat-beat: 1.9s; }
.kc-heat--warm { --kc-heat-color: #f59e0b; --kc-heat-beat: 1.3s; }
.kc-heat--hot { --kc-heat-color: #f97316; --kc-heat-beat: 0.95s; }
.kc-heat--burning { --kc-heat-color: #e11d48; --kc-heat-beat: 0.7s; }
.kc-heat__heart {
    display: inline-flex;
    width: 2.25rem;
    height: 2.25rem;
    flex-shrink: 0;
    color: var(--kc-heat-color);
    transform-origin: center;
    animation: kc-heartbeat var(--kc-heat-beat) ease-in-out infinite;
    filter: drop-shadow(0 0 0.3rem color-mix(in oklab, var(--kc-heat-color) 50%, transparent));
}
.kc-heat--none .kc-heat__heart { animation: none; filter: none; }
.kc-heat__heart svg { width: 100%; height: 100%; }
.kc-heat__body { display: grid; gap: 0.35rem; flex: 1; min-width: 8rem; }
.kc-heat__top { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.25rem 0.5rem; }
.kc-heat__value { font-size: 1.25rem; font-weight: 700; line-height: 1; color: var(--kc-heat-color); font-variant-numeric: tabular-nums; }
.kc-heat__label { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.02em; color: var(--gray-500); }
.kc-heat__bar { position: relative; height: 0.375rem; border-radius: 9999px; overflow: hidden; background: linear-gradient(90deg, #3b82f6, #f59e0b, #f97316, #e11d48); }
.kc-heat__rest { position: absolute; inset-block: 0; inset-inline-end: 0; inset-inline-start: var(--kc-heat-pct, 0%); background: var(--gray-200); transition: inset-inline-start 0.4s ease; }
.kc-heat__rest:where(.dark, .dark *) { background: var(--gray-700); }

/* Buyuk: kontrol listesi tahtasi, Kaydet / Ileri ozeti, potansiyel is karti. */
.kc-heat--lg { gap: 1rem; min-width: 18rem; }
.kc-heat--lg .kc-heat__heart { width: 3rem; height: 3rem; }
.kc-heat--lg .kc-heat__value { font-size: 1.75rem; }
.kc-heat--lg .kc-heat__body { min-width: 9rem; }
.kc-heat__ecg { width: 7.5rem; height: 2rem; flex-shrink: 0; overflow: visible; }
.kc-heat__ecg polyline { fill: none; stroke: var(--kc-heat-color); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.kc-heat__ecg-base { opacity: 0.18; }
.kc-heat__ecg-trace { stroke-dasharray: 60 240; stroke-dashoffset: 300; animation: kc-ecg var(--kc-heat-beat) linear infinite; filter: drop-shadow(0 0 0.15rem var(--kc-heat-color)); }
.kc-heat--none .kc-heat__ecg-trace { animation: none; stroke-dasharray: none; opacity: 0.35; }

/* Listede kucuk: yalniz kalp ve yuzde. */
.kc-heat--sm { min-width: 0; gap: 0.35rem; }
.kc-heat--sm .kc-heat__heart { width: 1.1rem; height: 1.1rem; }
.kc-heat--sm .kc-heat__value { font-size: 0.875rem; }

@keyframes kc-heartbeat {
    0%, 100% { transform: scale(1); }
    12% { transform: scale(1.2); }
    24% { transform: scale(0.98); }
    36% { transform: scale(1.12); }
    60% { transform: scale(1); }
}

@keyframes kc-ecg {
    from { stroke-dashoffset: 300; }
    to { stroke-dashoffset: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .kc-heat__heart, .kc-heat__ecg-trace { animation: none; }
}

/*
 * Kompakt belge yukleme kutusu (D-185, App\Filament\Support\CompactUpload):
 * baslik, kayitli dosyalar kucuk notr cip, altinda kucuk "Yukle" dugmesi.
 * FilePond'un birakma alani dugme boyunda; surukle-birak yine calisir
 * (uzerine dosya gelince kutu vurgulanir). Bekleyen yuklemeler FilePond'un
 * kendi satirlariyla dugmenin altinda listelenir.
 */
.kc-upload-slot {
    height: 100%;
    padding: 0.625rem 0.75rem;
    border-radius: 0.75rem;
    background: var(--gray-50);
    box-shadow: inset 0 0 0 1px var(--gray-200);
}

.kc-upload-slot:where(.dark, .dark *) {
    background: color-mix(in oklab, white 3%, transparent);
    box-shadow: inset 0 0 0 1px color-mix(in oklab, white 10%, transparent);
}

.kc-upload-slot > .fi-sc {
    gap: 0.5rem;
}

.kc-upload-slot .fi-in-entry-label {
    font-size: 0.8125rem;
}

.fi-fo-file-upload.kc-upload .filepond--root {
    background: transparent;
    box-shadow: none;
    border-radius: 0.5rem;
    font-size: 0.8125rem;
}

.fi-fo-file-upload.kc-upload .filepond--drop-label {
    right: auto;
    min-height: 0;
    padding: 0 !important;
    justify-content: flex-start;
}

.fi-fo-file-upload.kc-upload .filepond--drop-label label {
    cursor: pointer;
}

.kc-upload-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.3125rem 0.75rem;
    border-radius: 0.5rem;
    background: white;
    box-shadow: 0 1px 2px rgb(0 0 0 / 0.05), inset 0 0 0 1px var(--gray-300);
    color: var(--gray-700);
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.25rem;
    white-space: nowrap;
    transition: background-color 75ms, box-shadow 75ms;
}

.kc-upload-btn .fi-icon {
    width: 1rem;
    height: 1rem;
    color: var(--gray-500);
}

.kc-upload-btn:hover {
    background: var(--gray-50);
}

.kc-upload-btn:where(.dark, .dark *) {
    background: color-mix(in oklab, white 5%, transparent);
    box-shadow: inset 0 0 0 1px color-mix(in oklab, white 20%, transparent);
    color: var(--gray-200);
}

.fi-fo-file-upload.kc-upload .filepond--root[data-hopper-state='drag-over'] {
    outline: 2px dashed var(--primary-500);
    outline-offset: 2px;
    background: color-mix(in oklab, var(--primary-500) 6%, transparent);
}

.fi-fo-file-upload.kc-upload .filepond--item {
    font-size: 0.75rem;
}

/* Dosya cipi: tur simgesi, kirpilan ad (tam ad ipucunda), "Rev 01"; tiklaninca iner. */
.kc-file-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
}

.kc-file-chips .kc-file-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    max-width: 100%;
    min-width: 0;
    padding: 0.125rem 0.5rem;
    border-radius: 0.375rem;
    background: white;
    box-shadow: inset 0 0 0 1px var(--gray-200);
    color: var(--gray-800);
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.25rem;
    text-decoration: none;
}

.kc-file-chips a.kc-file-chip:hover {
    background: var(--gray-100);
    color: var(--gray-950);
    text-decoration: none;
}

.kc-file-chips .kc-file-chip:where(.dark, .dark *) {
    background: color-mix(in oklab, white 5%, transparent);
    box-shadow: inset 0 0 0 1px color-mix(in oklab, white 12%, transparent);
    color: var(--gray-200);
}

.kc-file-chips a.kc-file-chip:where(.dark, .dark *):hover {
    background: color-mix(in oklab, white 10%, transparent);
    color: white;
}

.kc-file-chip .fi-icon {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    color: var(--gray-400);
}

.kc-file-chip--sheet .fi-icon { color: var(--success-600); }
.kc-file-chip--pdf .fi-icon { color: var(--danger-500); }
.kc-file-chip--doc .fi-icon { color: var(--info-600); }
.kc-file-chip--image .fi-icon { color: var(--warning-500); }

.kc-file-chip__name {
    min-width: 0;
    max-width: 16rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kc-file-chip__rev {
    flex-shrink: 0;
    color: var(--gray-500);
    font-weight: 400;
}

/*
 * D-186: ayni cip, sag ucunda kucuk notr simgeler: indir (onizlenebilen
 * dosyada govde onizler) ve duzenlemede "x" (Kaldir; uzerine gelince kirmizi).
 * Kaldirilmak uzere isaretlenen cip soluk ve ustu cizili, "x" yerine "Geri al".
 */
.kc-file-chip__open {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    min-width: 0;
    color: inherit;
    text-decoration: none;
}

a.kc-file-chip__open:hover .kc-file-chip__name {
    text-decoration: underline;
}

.kc-file-chips .kc-file-chip .kc-file-chip__icon {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 0.25rem;
    background: transparent;
    color: var(--gray-400);
    cursor: pointer;
}

.kc-file-chips .kc-file-chip .kc-file-chip__icon .fi-icon {
    width: 0.875rem;
    height: 0.875rem;
    color: inherit;
}

.kc-file-chips .kc-file-chip .kc-file-chip__icon:hover {
    color: var(--gray-700);
}

.kc-file-chips .kc-file-chip .kc-file-chip__remove:hover {
    color: var(--danger-600);
}

.kc-file-chips .kc-file-chip.kc-file-chip--removed .kc-file-chip__open {
    opacity: 0.55;
    text-decoration: line-through;
}

.kc-file-chips .kc-file-chip.kc-file-chip--removed .kc-file-chip__remove:hover {
    color: var(--gray-700);
}

/*
 * D-186: proje tipi secimi rozet boyunda cipler (BusinessCaseWizard::TYPE_CHIPS_CLASS):
 * "GES" rozeti gibi kucuk; secilmemis tip gri cerceveli, secilen kendi renginde dolu.
 */
.fi-fo-toggle-buttons.kc-type-chips.fi-inline {
    gap: 0.375rem;
}

.fi-fo-toggle-buttons.kc-type-chips .fi-btn {
    gap: 0.25rem;
    min-height: 0;
    padding: 0.125rem 0.5rem;
    border-radius: 0.375rem;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.25rem;
}

.fi-fo-toggle-buttons.kc-type-chips .fi-btn .fi-icon {
    width: 1rem;
    height: 1rem;
}

/* Kutunun basligindaki kucuk "KonelsisAI yakinda" etiketi. */
.kc-ai-tag {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    margin-inline-start: 0.375rem;
    padding: 0 0.375rem;
    border-radius: 9999px;
    background: color-mix(in oklab, var(--primary-500) 10%, transparent);
    color: var(--primary-700);
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.125rem;
    vertical-align: middle;
    white-space: nowrap;
}

.kc-ai-tag .fi-icon {
    width: 0.75rem;
    height: 0.75rem;
}

.kc-ai-tag:where(.dark, .dark *) {
    color: var(--primary-300);
}

/*
 * Veri baglantilari kirmizi degil (D-185, 9 Ekim 2026 kullanici talebi: "Genel
 * projedeki link yazilari kirmizi olmasin ... detay sayfasindaki link/route ekli
 * olan bir bilgi kisminin yazisi kirmizi olmamalidir"). Bir kayda / dosyaya
 * giden metin (infolist girisi, tablo hucresi) koddaki ->color('primary') ne
 * olursa olsun normal yazi renginde, simgesi gri; uzerine gelince alti cizilir
 * (Filament'in kendi davranisi). Sol menu, secili sekme, dugmeler ve rozetler
 * bu kurala girmez (rozet ogesi renk sinifi tasimaz).
 */
.fi-in-text-item.fi-color-primary:has(a[href]),
.fi-ta-text-item.fi-color-primary:has(a[href]),
.fi-ta-col-has-column-url .fi-ta-text-item.fi-color-primary {
    color: var(--gray-950);
}

.fi-in-text-item.fi-color-primary:has(a[href]):where(.dark, .dark *),
.fi-ta-text-item.fi-color-primary:has(a[href]):where(.dark, .dark *),
.fi-ta-col-has-column-url .fi-ta-text-item.fi-color-primary:where(.dark, .dark *) {
    color: white;
}

.fi-in-text-item:has(a[href]) .fi-icon.fi-color-primary,
.fi-ta-text-item:has(a[href]) .fi-icon.fi-color-primary,
.fi-ta-col-has-column-url .fi-ta-text-item .fi-icon.fi-color-primary {
    color: var(--gray-400);
}

.fi-in-text-item:has(a[href]) .fi-icon.fi-color-primary:where(.dark, .dark *),
.fi-ta-text-item:has(a[href]) .fi-icon.fi-color-primary:where(.dark, .dark *),
.fi-ta-col-has-column-url .fi-ta-text-item .fi-icon.fi-color-primary:where(.dark, .dark *) {
    color: var(--gray-500);
}

/*
 * Ters yapi (D-185 duzeltmesi, 9 Ekim 2026 kullanici: "kirmizi yazi olayini coz
 * demistim, buralarda hala kirmizi yazilar gorunuyor" — dokuman sayfasi Sahip ve
 * Bagli kayitlar): giris ->url() verilince Filament metni baglantinin ICINE koyar
 * (a.fi-in-entry-content > .fi-in-text-item). Ayni notr renk bu yapida da gecerli;
 * dugmeler (.fi-btn), baglanti gorunumlu eylemler (.fi-link), sol menu ve sekmeler
 * bu secicilere girmez.
 */
.fi-main a[href] .fi-in-text-item.fi-color-primary,
.fi-main a[href] .fi-ta-text-item.fi-color-primary {
    color: var(--gray-950);
}

.fi-main a[href] .fi-in-text-item.fi-color-primary:where(.dark, .dark *),
.fi-main a[href] .fi-ta-text-item.fi-color-primary:where(.dark, .dark *) {
    color: white;
}

.fi-main a[href] .fi-in-text-item .fi-icon.fi-color-primary,
.fi-main a[href] .fi-ta-text-item .fi-icon.fi-color-primary {
    color: var(--gray-400);
}

.fi-main a[href] .fi-in-text-item .fi-icon.fi-color-primary:where(.dark, .dark *),
.fi-main a[href] .fi-ta-text-item .fi-icon.fi-color-primary:where(.dark, .dark *) {
    color: var(--gray-500);
}

/*
 * Baglanti gorunumlu eylemler (.fi-link, ana renkte): ornegin "Bu is nerede?"
 * kartindaki diger teklif baglantisi ve "Potansiyel ise git". Ana icerikte
 * bunlar da notr; dolu dugmeler (.fi-btn), sol menu ve sekmeler degismez.
 */
.fi-main .fi-link.fi-color-primary {
    color: var(--gray-950);
}

.fi-main .fi-link.fi-color-primary:where(.dark, .dark *) {
    color: white;
}

.fi-main .fi-link.fi-color-primary .fi-icon {
    color: var(--gray-400);
}

.fi-main .fi-link.fi-color-primary .fi-icon:where(.dark, .dark *) {
    color: var(--gray-500);
}

/*
 * Durum dugmesi (D-161): durum kendi renginde baslikta dugme. Detay
 * sayfasinda sabit (tiklanmaz) ama soluk degil; duzenleme sayfasinda tiklanir.
 */
.fi-btn.kc-status-fixed.kc-status-fixed:is(.fi-disabled, [disabled]) {
    opacity: 1;
    cursor: default;
}

/*
 * Taslak satiri (D-162): taslak kayit listede amber serit ve acik amber
 * zeminle ayrilir; basligin altindaki "Taslak · ... adiminda kaldi" amber.
 */
.fi-ta-row.kc-draft-row {
    background-color: color-mix(in oklab, var(--warning-50) 85%, transparent);
}

.fi-ta-row.kc-draft-row > td:first-child {
    box-shadow: inset 3px 0 0 var(--warning-500);
}

.fi-ta-row.kc-draft-row.fi-clickable:hover {
    background-color: var(--warning-100);
}

.fi-ta-row.kc-draft-row:where(.dark, .dark *) {
    background-color: color-mix(in oklab, var(--warning-500) 10%, transparent);
}

.fi-ta-row.kc-draft-row.fi-clickable:where(.dark, .dark *):hover {
    background-color: color-mix(in oklab, var(--warning-500) 16%, transparent);
}

.kc-draft-row .fi-ta-text-description {
    color: var(--warning-700);
    font-weight: 500;
}

.kc-draft-row .fi-ta-text-description:where(.dark, .dark *) {
    color: var(--warning-400);
}

/* Acil satir (15 Ekim 2026, Satin alinacaklar): acik kirmizi zemin, solda kirmizi cizgi. */
.fi-ta-row.kc-urgent-row {
    background-color: color-mix(in oklab, var(--danger-50) 85%, transparent);
}

.fi-ta-row.kc-urgent-row > td:first-child {
    box-shadow: inset 3px 0 0 var(--danger-500);
}

.fi-ta-row.kc-urgent-row.fi-clickable:hover {
    background-color: var(--danger-100);
}

.fi-ta-row.kc-urgent-row:where(.dark, .dark *) {
    background-color: color-mix(in oklab, var(--danger-500) 10%, transparent);
}

.fi-ta-row.kc-urgent-row.fi-clickable:where(.dark, .dark *):hover {
    background-color: color-mix(in oklab, var(--danger-500) 16%, transparent);
}

/* Sicaklik satiri (15 Ekim 2026, Is Gelistirme): satir sicaklik renginde
   (soguk mavi, ilik amber, sicak turuncu, yanan kirmizi; ChecklistTemplates::heatLevel). */
.fi-ta-row.kc-heat-row--cold { --kc-heat: #3b82f6; }
.fi-ta-row.kc-heat-row--warm { --kc-heat: #f59e0b; }
.fi-ta-row.kc-heat-row--hot { --kc-heat: #f97316; }
.fi-ta-row.kc-heat-row--burning { --kc-heat: #e11d48; }

.fi-ta-row.kc-heat-row {
    background-color: color-mix(in oklab, var(--kc-heat) 7%, transparent);
}

.fi-ta-row.kc-heat-row > td:first-child {
    box-shadow: inset 3px 0 0 var(--kc-heat);
}

.fi-ta-row.kc-heat-row.fi-clickable:hover {
    background-color: color-mix(in oklab, var(--kc-heat) 13%, transparent);
}

.fi-ta-row.kc-heat-row:where(.dark, .dark *) {
    background-color: color-mix(in oklab, var(--kc-heat) 11%, transparent);
}

.fi-ta-row.kc-heat-row.fi-clickable:where(.dark, .dark *):hover {
    background-color: color-mix(in oklab, var(--kc-heat) 18%, transparent);
}

/* Durum secicisi (D-161): secilmemis secenek de kendi renginde; secilince dolu. */
.kc-status-picker input:not(:checked) + label.fi-btn.fi-color {
    color: var(--color-700);
    background-color: color-mix(in oklab, var(--color-50) 70%, transparent);
    box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--color-500) 55%, transparent);
}

.kc-status-picker input:not(:checked) + label.fi-btn.fi-color:where(.dark, .dark *) {
    color: var(--color-300);
    background-color: color-mix(in oklab, var(--color-500) 12%, transparent);
}

/* Iki satirli secenek (D-192, TwoLineOption): ad ustte, kategori / departman altta silik. */
.kc-opt {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
    min-width: 0;
}

.kc-opt-title {
    overflow: hidden;
    text-overflow: ellipsis;
}

.kc-opt-sub {
    font-size: 0.75rem;
    color: var(--gray-500);
    overflow: hidden;
    text-overflow: ellipsis;
}

.kc-opt-sub:where(.dark, .dark *) {
    color: var(--gray-400);
}

/* Secili tek deger iki satir kalir (kullanicinin ornegi); satir araligi sik. */
.fi-select-input-value-label .kc-opt {
    line-height: 1.2;
}

/* Coklu secimin rozetleri sade kalir: yalniz ad (departman / kategori acilir listede). */
.fi-select-input-value-badges-ctn .kc-opt {
    display: inline;
}

.fi-select-input-value-badges-ctn .kc-opt-sub {
    display: none;
}

/* Tablolarda kod basligin altinda kucuk yazi (CodeLine; kullanici 14 Ekim
 * 2026: "kod'lari daha kucuk font ile baslik altinda tutalim"). */
.fi-ta-text.kc-code-line > .fi-ta-text-description {
    font-size: 0.75rem;
    line-height: 1rem;
    color: var(--gray-500);
    font-variant-numeric: tabular-nums;
}

.fi-ta-text.kc-code-line > .fi-ta-text-description:where(.dark, .dark *) {
    color: var(--gray-400);
}

/* Detay sayfasinda aciklama / not: kilitli textarea gorunumu (LongText;
 * kullanici 14 Ekim 2026: "textarea input'un disable hali gibi
 * gorulmelidir"). Filament'in kilitli girdi kutusuyla ayni zemin ve cerceve. */
.fi-in-text.kc-longtext {
    display: block;
    width: 100%;
    min-height: 4.75rem;
    padding: 0.375rem 0.75rem;
    border-radius: 0.5rem;
    background-color: var(--gray-50);
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05), 0 0 0 1px color-mix(in oklab, var(--gray-950) 10%, transparent);
    overflow-wrap: anywhere;
}

.fi-in-text.kc-longtext:where(.dark, .dark *) {
    background-color: transparent;
    box-shadow: 0 0 0 1px color-mix(in oklab, #fff 10%, transparent);
}

.fi-in-text.kc-longtext,
.fi-in-text.kc-longtext .fi-in-text-item,
.fi-in-text.kc-longtext .fi-in-placeholder {
    font-size: 0.875rem;
    line-height: 1.5rem;
    color: var(--gray-600);
}

.fi-in-text.kc-longtext:where(.dark, .dark *),
.fi-in-text.kc-longtext .fi-in-text-item:where(.dark, .dark *),
.fi-in-text.kc-longtext .fi-in-placeholder:where(.dark, .dark *) {
    color: var(--gray-300);
}

/* Tablo bicimli tekrarlayan girdinin hucresinde kutu cizilmez. */
.fi-in-table-repeatable .fi-in-text.kc-longtext {
    display: revert;
    min-height: 0;
    padding: 0;
    border-radius: 0;
    background-color: transparent;
    box-shadow: none;
}

/* Baglantiya gitmeden once onay penceresi (D-200, konelsis-link-guard.js).
 * 14 Ekim 2026 tasarimi (kullanici: "fynoai icin attigim modal daha kaliteli
 * ... icon ... baslik belli olmalidir ... filament modal'i gibi"): ortali simge
 * dairesi, belirgin baslik, ortali aciklama, sag ustte kapat, esit genislikte
 * dugmeler. Renkler (13 Ekim): Sayfada kal acik gri, Satirin detayina git
 * yesil, git acik mavi; "cirtlak" olmayan tonlar. Acik zeminli dugmelerde koyu yazi
 * (D-149 beyaz yazi kurali bu dugmelerde bilerek uygulanmaz). */
.kc-lg-locked {
    overflow: hidden;
}

.kc-lg-overlay {
    position: fixed;
    inset: 0;
    z-index: 60;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background-color: color-mix(in oklab, var(--gray-950) 45%, transparent);
    animation: kc-lg-fade 120ms ease-out;
}

.kc-lg-dialog {
    position: relative;
    width: 100%;
    max-width: 26rem;
    border-radius: 1rem;
    background-color: #fff;
    padding: 1.75rem 1.5rem 1.5rem;
    text-align: center;
    box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    animation: kc-lg-pop 140ms ease-out;
}

.kc-lg-dialog:where(.dark, .dark *) {
    background-color: var(--gray-900);
    box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.5), 0 0 0 1px color-mix(in oklab, #fff 10%, transparent);
}

.kc-lg-close {
    position: absolute;
    top: 0.875rem;
    right: 0.875rem;
    display: inline-flex;
    width: 2rem;
    height: 2rem;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    color: var(--gray-400);
    cursor: pointer;
}

.kc-lg-close:hover {
    background-color: var(--gray-100);
    color: var(--gray-600);
}

.kc-lg-close:where(.dark, .dark *):hover {
    background-color: color-mix(in oklab, #fff 8%, transparent);
    color: var(--gray-200);
}

.kc-lg-close svg {
    width: 1.25rem;
    height: 1.25rem;
}

.kc-lg-icon {
    margin: 0 auto 1rem;
    display: flex;
    width: 3.5rem;
    height: 3.5rem;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    background-color: var(--info-50);
    color: var(--info-600);
    box-shadow: 0 0 0 6px color-mix(in oklab, var(--info-50) 55%, transparent);
}

.kc-lg-icon:where(.dark, .dark *) {
    background-color: color-mix(in oklab, var(--info-400) 15%, transparent);
    color: var(--info-300);
    box-shadow: 0 0 0 6px color-mix(in oklab, var(--info-400) 7%, transparent);
}

.kc-lg-icon svg {
    width: 1.625rem;
    height: 1.625rem;
}

.kc-lg-title {
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.5rem;
    color: var(--gray-950);
}

.kc-lg-title:where(.dark, .dark *) {
    color: #fff;
}

.kc-lg-body {
    margin-top: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.375rem;
    color: var(--gray-500);
    overflow-wrap: anywhere;
}

.kc-lg-body:where(.dark, .dark *) {
    color: var(--gray-400);
}

/* Alan ve kayit adi tirnak yerine kalin (14 Ekim 2026). */
.kc-lg-body strong {
    font-weight: 600;
    color: var(--gray-800);
}

.kc-lg-body strong:where(.dark, .dark *) {
    color: var(--gray-100);
}

.kc-lg-actions {
    margin-top: 1.5rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.625rem;
}

/* Uc dugmede git dugmesi alt satirda tam genislik. */
.kc-lg-actions-3 .kc-lg-btn-go {
    grid-column: 1 / -1;
}

/* Yazisi sigmayan dugme (uzun tur adi, dar ekran): hepsi alt alta tam genislik. */
.kc-lg-actions-stack {
    grid-template-columns: minmax(0, 1fr);
}

.kc-lg-btn {
    border-radius: 0.625rem;
    padding: 0.625rem 0.875rem;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.25rem;
    cursor: pointer;
    transition: background-color 120ms ease, box-shadow 120ms ease;
}

.kc-lg-btn:focus-visible {
    outline: 2px solid var(--info-500);
    outline-offset: 2px;
}

.kc-lg-btn-stay {
    background-color: var(--gray-100);
    color: var(--gray-700);
    box-shadow: inset 0 0 0 1px var(--gray-300);
}

.kc-lg-btn-stay:hover {
    background-color: var(--gray-200);
}

.kc-lg-btn-row {
    background-color: var(--success-100);
    color: var(--success-800);
    box-shadow: inset 0 0 0 1px var(--success-300);
}

.kc-lg-btn-row:hover {
    background-color: var(--success-200);
}

.kc-lg-btn-go {
    background-color: var(--info-100);
    color: var(--info-700);
    box-shadow: inset 0 0 0 1px var(--info-200);
}

.kc-lg-btn-go:hover {
    background-color: var(--info-200);
}

.kc-lg-btn-stay:where(.dark, .dark *) {
    background-color: color-mix(in oklab, #fff 6%, transparent);
    color: var(--gray-200);
    box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--gray-400) 40%, transparent);
}

.kc-lg-btn-stay:where(.dark, .dark *):hover {
    background-color: color-mix(in oklab, #fff 10%, transparent);
}

.kc-lg-btn-row:where(.dark, .dark *) {
    background-color: color-mix(in oklab, var(--success-400) 15%, transparent);
    color: var(--success-300);
    box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--success-400) 30%, transparent);
}

.kc-lg-btn-go:where(.dark, .dark *) {
    background-color: color-mix(in oklab, var(--info-400) 15%, transparent);
    color: var(--info-300);
    box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--info-400) 30%, transparent);
}

@keyframes kc-lg-fade {
    from {
        opacity: 0;
    }
}

@keyframes kc-lg-pop {
    from {
        opacity: 0;
        transform: translateY(6px) scale(0.98);
    }
}

@media (prefers-reduced-motion: reduce) {
    .kc-lg-overlay,
    .kc-lg-dialog {
        animation: none;
    }
}

/* Is kritikligi (D-219, 16 Ekim 2026: "kritikliği 4 seviyeye çıkar ... dashboard
   ve iş panosunda kritikliği görelim"): Gorevlerim ve islerim satirinin solunda
   seviye cizgisi; kritik satir hafif kirmizi. Dusuk / normal satir sade kalir. */
.fi-ta-row.kc-priority-high > td:first-child {
    box-shadow: inset 3px 0 0 var(--warning-500);
}

.fi-ta-row.kc-priority-critical > td:first-child {
    box-shadow: inset 3px 0 0 var(--danger-500);
}

.fi-ta-row.kc-priority-critical {
    background-color: color-mix(in oklab, var(--danger-50) 70%, transparent);
}

.fi-ta-row.kc-priority-critical:where(.dark, .dark *) {
    background-color: color-mix(in oklab, var(--danger-500) 8%, transparent);
}
