/*
 * Kibar Platform paneli teması. Filament'in renk değişkenlerini (--primary-600 vb.) kullanır;
 * "kb-" önekli sınıflar ana sayfa bileşenlerine aittir. Değişiklikten sonra:
 *   php artisan filament:assets
 */

/* ---------- Genel panel ---------- */

.fi-body {
    background: var(--gray-50);
}

.dark .fi-body {
    background: var(--gray-950);
}

.fi-sidebar-nav-groups {
    gap: 0.25rem;
}

.fi-sidebar-group-label {
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.fi-header-heading {
    letter-spacing: -0.02em;
}

.fi-ta-ctn,
.fi-section {
    border-radius: 0.875rem;
}

/* Giriş ekranı: marka renginde yumuşak arka plan */
.fi-simple-layout {
    background:
        radial-gradient(60rem 40rem at 10% -10%, color-mix(in oklab, var(--primary-500) 18%, transparent), transparent 60%),
        radial-gradient(50rem 30rem at 110% 110%, color-mix(in oklab, var(--primary-700) 14%, transparent), transparent 60%),
        var(--gray-50);
}

.dark .fi-simple-layout {
    background:
        radial-gradient(60rem 40rem at 10% -10%, color-mix(in oklab, var(--primary-500) 22%, transparent), transparent 60%),
        var(--gray-950);
}

/* ---------- Ana sayfa ortak ---------- */

.kb-kart {
    background: white;
    border: 1px solid var(--gray-200);
    border-radius: 0.875rem;
    box-shadow: 0 1px 2px rgb(0 0 0 / 0.04);
}

.dark .kb-kart {
    background: var(--gray-900);
    border-color: color-mix(in oklab, white 10%, transparent);
}

.kb-kart-baslik {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 1.25rem 0.75rem;
}

.kb-kart-baslik h3 {
    font-size: 0.95rem;
    font-weight: 650;
    color: var(--gray-950);
}

.dark .kb-kart-baslik h3 {
    color: white;
}

.kb-kart-baslik p,
.kb-soluk {
    color: var(--gray-500);
    font-size: 0.8rem;
}

.dark .kb-soluk,
.dark .kb-kart-baslik p {
    color: var(--gray-400);
}

.kb-sayac {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5rem;
    height: 1.5rem;
    padding: 0 0.45rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    background: var(--gray-100);
    color: var(--gray-700);
}

.dark .kb-sayac {
    background: color-mix(in oklab, white 10%, transparent);
    color: var(--gray-200);
}

.kb-kod {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    font-size: 0.8rem;
    letter-spacing: -0.01em;
    color: var(--gray-950);
}

.dark .kb-kod {
    color: white;
}

.kb-bos {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    padding: 1.75rem 1rem;
    color: var(--gray-400);
    font-size: 0.85rem;
    text-align: center;
}

.kb-bos svg {
    width: 1.75rem;
    height: 1.75rem;
}

/* ---------- Karşılama bandı ---------- */

.kb-karsilama {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.5rem 1.75rem;
    border-radius: 1rem;
    color: white;
    background: linear-gradient(120deg, var(--primary-700), var(--primary-500));
}

.kb-karsilama::after {
    content: "";
    position: absolute;
    right: -4rem;
    top: -6rem;
    width: 18rem;
    height: 18rem;
    border-radius: 50%;
    background: rgb(255 255 255 / 0.08);
}

.kb-karsilama h2 {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.kb-karsilama p {
    opacity: 0.85;
    margin-top: 0.25rem;
}

.kb-karsilama-butonlar {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.kb-buton {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 0.95rem;
    border-radius: 0.6rem;
    font-size: 0.85rem;
    font-weight: 600;
    background: rgb(255 255 255 / 0.15);
    color: white;
    transition: background 0.15s;
}

.kb-buton:hover {
    background: rgb(255 255 255 / 0.25);
}

.kb-buton-ana {
    background: white;
    color: var(--primary-700);
}

.kb-buton-ana:hover {
    background: var(--primary-50);
}

.kb-buton svg {
    width: 1rem;
    height: 1rem;
}

/* ---------- Özet kartları ---------- */

/* Beş özet kartı, kenar menüsü açıkken 1366 piksel ekranda da tek satıra sığar. */
.kb-ozet {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(11.5rem, 1fr));
    gap: 1rem;
}

.kb-ozet-kart {
    padding: 1.1rem 1.25rem;
}

.kb-ozet-ust {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: var(--gray-500);
    font-size: 0.82rem;
    font-weight: 500;
}

.kb-ikon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 0.6rem;
}

.kb-ikon svg {
    width: 1.1rem;
    height: 1.1rem;
}

.kb-ikon-primary { background: var(--primary-50); color: var(--primary-700); }
.kb-ikon-warning { background: var(--warning-50); color: var(--warning-700); }
.kb-ikon-gray { background: var(--gray-100); color: var(--gray-600); }
.kb-ikon-success { background: var(--success-50); color: var(--success-700); }
.dark .kb-ikon-primary { background: color-mix(in oklab, var(--primary-500) 18%, transparent); color: var(--primary-300); }
.dark .kb-ikon-warning { background: color-mix(in oklab, var(--warning-500) 18%, transparent); color: var(--warning-300); }
.dark .kb-ikon-gray { background: color-mix(in oklab, white 8%, transparent); color: var(--gray-300); }
.dark .kb-ikon-success { background: color-mix(in oklab, var(--success-500) 18%, transparent); color: var(--success-300); }

.kb-ozet-deger {
    margin-top: 0.75rem;
    font-size: 1.6rem;
    white-space: nowrap;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--gray-950);
    font-variant-numeric: tabular-nums;
}

.dark .kb-ozet-deger {
    color: white;
}

.kb-ozet-deger small {
    font-size: 1rem;
    font-weight: 500;
    color: var(--gray-400);
}

.kb-ozet-detay {
    margin-top: 0.2rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--gray-600);
}

.dark .kb-ozet-detay {
    color: var(--gray-300);
}

.kb-ozet-alt {
    margin-top: 0.35rem;
    font-size: 0.8rem;
    color: var(--gray-500);
}

.kb-cubuk {
    margin-top: 0.75rem;
    height: 0.4rem;
    border-radius: 999px;
    background: var(--gray-100);
    overflow: hidden;
}

.dark .kb-cubuk {
    background: color-mix(in oklab, white 10%, transparent);
}

.kb-cubuk > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--primary-500);
}

.kb-egilim {
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
}

.kb-egilim-artis { background: var(--success-50); color: var(--success-700); }
.kb-egilim-azalis { background: var(--danger-50); color: var(--danger-700); }
.dark .kb-egilim-artis { background: color-mix(in oklab, var(--success-500) 18%, transparent); color: var(--success-300); }
.dark .kb-egilim-azalis { background: color-mix(in oklab, var(--danger-500) 18%, transparent); color: var(--danger-300); }

.kb-mini-grafik {
    display: block;
    width: 100%;
    height: 2.25rem;
    margin-top: 0.6rem;
    color: var(--primary-500);
}

/* ---------- Listeler (teslim akışı, yaklaşanlar) ---------- */

.kb-grup + .kb-grup {
    border-top: 1px solid var(--gray-100);
}

.dark .kb-grup + .kb-grup {
    border-color: color-mix(in oklab, white 6%, transparent);
}

.kb-grup-baslik {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem 0.35rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--gray-500);
}

.kb-nokta {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 999px;
    flex-shrink: 0;
}

/* İlk sütun cihaz: kod, modelin tam adı ve seri numarası (kesilmeden, gerekirse iki satır). */
.kb-satir {
    display: grid;
    grid-template-columns: minmax(0, 15rem) minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 1.25rem;
    transition: background 0.12s;
}

.kb-satir:hover {
    background: var(--gray-50);
}

.dark .kb-satir:hover {
    background: color-mix(in oklab, white 4%, transparent);
}

.kb-satir-ana {
    min-width: 0;
}

.kb-satir-ana .kb-musteri {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 0.85rem;
    color: var(--gray-800);
}

.dark .kb-satir-ana .kb-musteri {
    color: var(--gray-200);
}

.kb-satir-ana .kb-model,
.kb-satir .kb-model {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 0.75rem;
    color: var(--gray-500);
}

/* Cihaz bilgisi kesilmez: model adı ve seri numarası tam okunur. */
.kb-satir .kb-cihaz-bilgi .kb-model {
    white-space: normal;
    overflow: visible;
    line-height: 1.35;
}

@media (max-width: 640px) {
    .kb-satir {
        grid-template-columns: minmax(0, 9.5rem) minmax(0, 1fr) auto;
    }
}

.kb-satir-sag {
    text-align: right;
    font-size: 0.78rem;
    color: var(--gray-500);
    white-space: nowrap;
}

.kb-etiket {
    display: inline-block;
    padding: 0.1rem 0.45rem;
    border-radius: 0.375rem;
    font-size: 0.7rem;
    font-weight: 600;
    background: var(--gray-100);
    color: var(--gray-600);
}

.dark .kb-etiket {
    background: color-mix(in oklab, white 8%, transparent);
    color: var(--gray-300);
}

.kb-takvim {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 0.6rem;
    background: var(--primary-50);
    color: var(--primary-700);
    line-height: 1;
}

.dark .kb-takvim {
    background: color-mix(in oklab, var(--primary-500) 18%, transparent);
    color: var(--primary-200);
}

.kb-takvim b {
    font-size: 1rem;
}

.kb-takvim span {
    font-size: 0.6rem;
    font-weight: 600;
    text-transform: uppercase;
    margin-top: 0.1rem;
}

.kb-kaydir {
    max-height: 26rem;
    overflow-y: auto;
    padding-bottom: 0.5rem;
}

/* ---------- Filo panosu ---------- */

.kb-lejant {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.kb-lejant button {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.3rem 0.65rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 550;
    color: var(--gray-600);
    border: 1px solid var(--gray-200);
    background: white;
}

.dark .kb-lejant button {
    background: transparent;
    color: var(--gray-300);
    border-color: color-mix(in oklab, white 12%, transparent);
}

.kb-lejant button[aria-pressed="true"] {
    border-color: var(--primary-500);
    color: var(--primary-700);
    background: var(--primary-50);
}

.dark .kb-lejant button[aria-pressed="true"] {
    color: var(--primary-200);
    background: color-mix(in oklab, var(--primary-500) 16%, transparent);
}

.kb-filo {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr));
    gap: 0.6rem;
    padding: 0 1.25rem 1.25rem;
}

.kb-cihaz {
    position: relative;
    display: block;
    padding: 0.7rem 0.8rem 0.7rem 0.95rem;
    border-radius: 0.65rem;
    border: 1px solid var(--gray-200);
    background: white;
    transition: transform 0.12s, box-shadow 0.12s;
    overflow: hidden;
}

.kb-cihaz:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgb(0 0 0 / 0.06);
}

.dark .kb-cihaz {
    background: color-mix(in oklab, white 3%, transparent);
    border-color: color-mix(in oklab, white 10%, transparent);
}

.kb-cihaz::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 0.25rem;
    background: var(--kb-durum);
}

.kb-cihaz-durum {
    margin-top: 0.35rem;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--kb-durum-yazi);
}

.kb-cihaz .kb-musteri {
    display: block;
    margin-top: 0.1rem;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 0.72rem;
    color: var(--gray-500);
}

.kb-durum-kirada { --kb-durum: var(--primary-500); --kb-durum-yazi: var(--primary-700); }
.kb-durum-yaklasan { --kb-durum: var(--warning-400); --kb-durum-yazi: var(--warning-700); }
.kb-durum-donuyor { --kb-durum: var(--danger-500); --kb-durum-yazi: var(--danger-600); }
.kb-durum-bosta { --kb-durum: var(--gray-300); --kb-durum-yazi: var(--gray-500); }
.kb-durum-rezerve { --kb-durum: var(--info-500); --kb-durum-yazi: var(--info-700); }
.dark .kb-durum-kirada { --kb-durum-yazi: var(--primary-300); }
.dark .kb-durum-yaklasan { --kb-durum-yazi: var(--warning-300); }
.dark .kb-durum-donuyor { --kb-durum-yazi: var(--danger-400); }
.dark .kb-durum-bosta { --kb-durum: var(--gray-600); --kb-durum-yazi: var(--gray-400); }
.dark .kb-durum-rezerve { --kb-durum-yazi: var(--info-300); }

/* ---------- En çok kazandıranlar ---------- */

.kb-sira {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 0.45rem;
    font-size: 0.75rem;
    font-weight: 700;
    background: var(--gray-100);
    color: var(--gray-600);
}

.dark .kb-sira {
    background: color-mix(in oklab, white 8%, transparent);
    color: var(--gray-300);
}

.kb-sira-1 {
    background: var(--primary-600);
    color: white;
}

.kb-oran {
    height: 0.3rem;
    margin-top: 0.35rem;
    border-radius: 999px;
    background: var(--gray-100);
    overflow: hidden;
}

.dark .kb-oran {
    background: color-mix(in oklab, white 8%, transparent);
}

.kb-oran > span {
    display: block;
    height: 100%;
    background: var(--primary-400);
    border-radius: inherit;
}

.kb-cihaz-alt {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 0.72rem;
    color: var(--gray-500);
}

/* ---------- Rapor sayfaları ---------- */

.kb-rapor {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.kb-filtre-cubugu {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 0.75rem 1.25rem;
    padding: 1rem 1.25rem;
}

.kb-filtre-alanlari {
    flex: 1 1 36rem;
    min-width: 0;
}

.kb-filtre-butonlar {
    display: flex;
    gap: 0.5rem;
    padding-bottom: 0.1rem;
}

/* Rapor tabloları: daha sıkı satırlar, sayılar tek satırda */
.kb-rapor .fi-ta-cell,
.kb-rapor .fi-ta-header-cell {
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
}

.kb-rapor .fi-ta-text,
.kb-rapor .fi-ta-header-cell {
    font-size: 0.8125rem;
}

.kb-rapor .fi-ta-cell .fi-ta-text-item {
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

/* İlk sütun (cihaz, müşteri, ay) tablo yana kaydırılınca sabit kalır */
.kb-rapor .fi-ta-table > tbody > tr > td:first-child,
.kb-rapor .fi-ta-table > thead > tr:last-child > th:first-child {
    position: sticky;
    left: 0;
    z-index: 2;
    background: white;
    box-shadow: 1px 0 0 var(--gray-200);
}

.dark .kb-rapor .fi-ta-table > tbody > tr > td:first-child,
.dark .kb-rapor .fi-ta-table > thead > tr:last-child > th:first-child {
    background: var(--gray-900);
    box-shadow: 1px 0 0 color-mix(in oklab, white 10%, transparent);
}

/* Gruplu başlıklar (ör. yıllar) */
.kb-rapor .fi-ta-table > thead > tr:first-child > th[colspan] {
    border-left: 1px solid var(--gray-200);
    font-weight: 700;
    color: var(--primary-700);
}

.dark .kb-rapor .fi-ta-table > thead > tr:first-child > th[colspan] {
    border-color: color-mix(in oklab, white 10%, transparent);
    color: var(--primary-300);
}

/* Toplam satırı tablonun içinde, vurgulu */
.kb-rapor .kb-toplam-satiri > td {
    background: var(--primary-50) !important;
    border-top: 2px solid var(--primary-600);
    font-weight: 700;
}

.kb-rapor .kb-toplam-satiri .fi-ta-text-item {
    font-weight: 700;
}

.dark .kb-rapor .kb-toplam-satiri > td {
    background: color-mix(in oklab, var(--primary-500) 14%, var(--gray-900)) !important;
    border-color: var(--primary-500);
}

/* Raporlar Merkezi */
.kb-merkez {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr));
    gap: 1rem;
}

.kb-merkez-bolum h3 {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.kb-merkez-rapor {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.85rem;
    padding: 0.85rem 1.25rem;
    border-top: 1px solid var(--gray-100);
    transition: background 0.12s;
}

.kb-merkez-rapor:hover {
    background: var(--gray-50);
}

.dark .kb-merkez-rapor {
    border-color: color-mix(in oklab, white 6%, transparent);
}

.dark .kb-merkez-rapor:hover {
    background: color-mix(in oklab, white 4%, transparent);
}

.kb-merkez-rapor strong {
    display: block;
    font-size: 0.9rem;
    font-weight: 650;
    color: var(--gray-950);
}

.dark .kb-merkez-rapor strong {
    color: white;
}

.kb-merkez-rapor span.kb-soluk {
    display: block;
    margin-top: 0.15rem;
    line-height: 1.35;
}

.kb-merkez-rapor > svg {
    width: 1rem;
    height: 1rem;
    color: var(--gray-400);
}

.kb-merkez-rapor span.kb-soluk {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Kiralama formundaki "Hesap Özeti": etiket solda, değer sağda bölünmeden; sığmazsa değer alt satıra geçer. */
.kb-hesap-ozeti .fi-in-entry-has-inline-label {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    column-gap: 0.75rem;
}

.kb-hesap-ozeti .fi-in-entry-label {
    white-space: nowrap;
}

.kb-hesap-ozeti .fi-in-entry-content-col {
    margin-inline-start: auto;
    text-align: end;
}

.kb-hesap-ozeti .fi-in-text-item {
    white-space: nowrap;
}

/* Kiralama ekle/düzenle: form 1366×768 dizüstünde de kaydırmadan tek ekrana sığsın; geniş ekranda
   (2xl, iki sütunlu düzen) boşluklar olağan kalır. */
.fi-resource-kiralamalar:is(.fi-resource-create-record-page, .fi-resource-edit-record-page) .fi-page-header-main-ctn {
    row-gap: 1.25rem;
}

@media (max-width: 95.999rem) {
    .kb-sik-form .fi-section-content.fi-sc-has-gap {
        row-gap: 1rem;
    }
}

/* Seçim kutularının açılır listesi (cihaz, müşteri, filtreler): her seçenek tek satırda ve tamamı
   okunur. Liste en az kutu kadar, gerektiğinde yazı sığacak kadar geniş açılır; ekrandan taşmaz. */
.fi-select-input-option,
.fi-select-input-option > span {
    white-space: nowrap;
    text-wrap: nowrap;
    overflow: visible;
    text-overflow: clip;
}

/* Filament genişliği "!important" ile components katmanında sınırlar; !important kurallarda önce gelen
   katman kazandığı için bu kural base katmanına yazılır. */
@layer base {
    .fi-select-input-ctn > .fi-dropdown-panel {
        width: max-content !important;
        max-width: calc(100vw - 2rem) !important;
    }
}

/* Sabit konumlu listede (pencere/tablo içi) yüzde, ekran genişliğine göre hesaplanır; orada kullanılmaz. */
.fi-select-input-ctn > .fi-dropdown-panel:not([style*="position: fixed"]) {
    min-width: 100%;
}

/* Rapor tabloları ekrandan geniş olabilir: tablo ekrana sığan yükseklikte kendi içinde kayar; yatay
   kaydırma çubuğu ve başlık satırları her zaman görünür (sağa kaydırmak için sayfa sonuna inilmez). */
.kb-rapor .fi-ta-content-ctn {
    max-height: calc(100dvh - 8rem);
    overflow: auto;
}

/* Başlık, sabit ilk sütunun (z-index 2) da üstünde kalır. */
.kb-rapor .fi-ta-table > thead {
    position: sticky;
    top: 0;
    z-index: 3;
}

.kb-rapor .fi-ta-table > thead th {
    background-color: white;
}

.dark .kb-rapor .fi-ta-table > thead th {
    background-color: var(--gray-900);
}

/* Listelerde her kayıt tek satırdır. Cihaz sütununda kodun yanındaki model ve seri no soluk yazılır;
   model adı yalnızca geniş ekranda görünür (bkz. CihazSecimi::sutun). */
.kb-sutun-ek {
    color: var(--gray-500);
}

.dark .kb-sutun-ek {
    color: var(--gray-400);
}

/* Dizüstü ve küçük monitörde (1024–1535 px) tablolar sağa taşmasın: hücre kenar boşlukları daralır,
   ikincil sütunlar gizlenir (sütunlarda visibleFrom('2xl')). */
@media (min-width: 64rem) and (max-width: 95.999rem) {
    .kb-genis-ekranda {
        display: none;
    }

    .fi-ta-table .fi-ta-header-cell,
    .fi-ta-table .fi-ta-text:not(.fi-inline),
    .fi-ta-table .fi-ta-icon:not(.fi-inline),
    .fi-ta-table .fi-ta-cell:has(.fi-ta-actions) {
        padding-inline: 0.5rem;
    }
}

/* Uzun metin sütunları (bkz. UzunMetinSutunu): tek satır, sığmayan kısım "…". */
@media (min-width: 64rem) {
    .fi-ta-table .kb-kirp {
        display: block;
        max-width: 13rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .fi-ta-table .kb-kirp-genis {
        max-width: 22rem;
    }
}

@media (min-width: 96rem) {
    .fi-ta-table .kb-kirp {
        max-width: 18rem;
    }

    .fi-ta-table .kb-kirp-genis {
        max-width: 32rem;
    }
}

/* Dizüstü ve küçük monitörde tablo yazısı bir tık küçülür (14 → 13 px); sütunlar ekrana sığar. */
@media (min-width: 64rem) and (max-width: 95.999rem) {
    .fi-ta-table .fi-ta-header-cell,
    .fi-ta-table .fi-ta-text-item,
    .fi-ta-table .fi-badge {
        font-size: 0.8125rem;
    }
}

/* 1366 px'ten dar ekranlarda (ör. 1280×1024 monitör) uzun metin sütunu biraz daha kısalır. */
@media (min-width: 64rem) and (max-width: 85.3rem) {
    .fi-ta-table .kb-kirp {
        max-width: 10.5rem;
    }
}

/* Rapor tablosunun altta sabit duran yatay kaydırma çubuğu (bkz. rapor.blade.php). */
.kb-yatay-cubuk {
    position: sticky;
    bottom: 0;
    z-index: 5;
    overflow-x: auto;
    overflow-y: hidden;
    background-color: white;
    border: 1px solid var(--gray-200);
    border-radius: 0 0 0.75rem 0.75rem;
    box-shadow: 0 -4px 12px rgb(0 0 0 / 0.06);
}

.dark .kb-yatay-cubuk {
    background-color: var(--gray-900);
    border-color: color-mix(in oklab, white 10%, transparent);
}

/* ---------- Arıza & Servis ---------- */

.kb-ikon-danger { background: var(--danger-50); color: var(--danger-700); }
.dark .kb-ikon-danger { background: color-mix(in oklab, var(--danger-500) 18%, transparent); color: var(--danger-300); }

/* Arıza Panosu: kritik arızası olan makine satırı yanıp söner (eski ekrandaki gibi). */
@keyframes kb-kritik-yanip-son {
    0%, 100% { background-color: color-mix(in oklab, var(--danger-500) 8%, transparent); }
    50% { background-color: color-mix(in oklab, var(--danger-500) 24%, transparent); }
}

.kb-kritik-satir {
    animation: kb-kritik-yanip-son 1.15s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    .kb-kritik-satir {
        animation: none;
        background-color: color-mix(in oklab, var(--danger-500) 14%, transparent);
    }
}

/* Ana sayfa filo kartında arıza işareti */
.kb-ariza-isareti {
    position: absolute;
    top: 0.45rem;
    right: 0.5rem;
    display: inline-flex;
    align-items: center;
    gap: 0.2rem;
    padding: 0.05rem 0.4rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 600;
    background: var(--warning-50);
    color: var(--warning-700);
}

.kb-ariza-isareti svg {
    width: 0.8rem;
    height: 0.8rem;
}

.kb-ariza-isareti.kb-kritik {
    background: var(--danger-50);
    color: var(--danger-700);
}

.dark .kb-ariza-isareti {
    background: color-mix(in oklab, var(--warning-500) 20%, transparent);
    color: var(--warning-300);
}

.dark .kb-ariza-isareti.kb-kritik {
    background: color-mix(in oklab, var(--danger-500) 20%, transparent);
    color: var(--danger-300);
}

/* Servis formu: imza alanı ve belge önizlemesi */
.kb-imza-kutu {
    position: relative;
    height: 11rem;
    border: 2px dashed var(--gray-300);
    border-radius: 0.75rem;
    background: white;
    touch-action: none;
}

.kb-imza-kutu canvas {
    width: 100%;
    height: 100%;
    display: block;
    cursor: crosshair;
    touch-action: none;
}

.kb-imza-kutu.has-ink {
    border-color: var(--primary-400);
    border-style: solid;
}

.kb-imza-ipucu {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gray-400);
    font-size: 0.9rem;
    pointer-events: none;
}

.kb-imza-kutu.has-ink .kb-imza-ipucu {
    display: none;
}

.kb-belge-cerceve {
    width: 100%;
    min-height: 70rem;
    border: 1px solid var(--gray-200);
    border-radius: 0.75rem;
    background: white;
}

.kb-fotograflar {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));
    gap: 0.75rem;
}

.kb-fotograflar figure {
    margin: 0;
}

.kb-fotograflar img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 0.6rem;
    border: 1px solid var(--gray-200);
}

.kb-fotograflar figcaption {
    margin-top: 0.3rem;
    font-size: 0.75rem;
    color: var(--gray-500);
}

/* Önerili metin alanı (resources/views/filament/forms/oneri-alani.blade.php) */
.kb-oneri {
    position: relative;
}

.kb-oneri-listesi {
    position: absolute;
    z-index: 30;
    left: 0;
    right: 0;
    top: calc(100% + 0.25rem);
    max-height: 16rem;
    overflow-y: auto;
    padding: 0.25rem;
    background: white;
    border: 1px solid var(--gray-200);
    border-radius: 0.5rem;
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}

.kb-oneri-listesi li {
    padding: 0.45rem 0.6rem;
    border-radius: 0.375rem;
    font-size: 0.875rem;
    cursor: pointer;
}

.kb-oneri-listesi li.kb-secili {
    background: var(--gray-100);
}

.dark .kb-oneri-listesi {
    background: var(--gray-900);
    border-color: rgb(255 255 255 / 0.1);
}

.dark .kb-oneri-listesi li.kb-secili {
    background: rgb(255 255 255 / 0.05);
}

/* Telefonda "uygulama olarak kur" notu (resources/views/filament/uygulama-kurulumu.blade.php) */
.kb-kurulum-notu {
    position: fixed;
    z-index: 40;
    left: 0.75rem;
    right: 0.75rem;
    bottom: calc(0.75rem + env(safe-area-inset-bottom));
    max-width: 30rem;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem;
    background: white;
    border: 1px solid var(--gray-200);
    border-radius: 0.9rem;
    box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.15), 0 8px 10px -6px rgb(0 0 0 / 0.1);
}

.kb-kurulum-notu img {
    flex: none;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.6rem;
}

.kb-kurulum-metni {
    flex: 1 1 12rem;
    display: grid;
    gap: 0.15rem;
    font-size: 0.85rem;
    line-height: 1.35;
}

.kb-kurulum-metni span {
    color: var(--gray-600);
}

.kb-kurulum-ikon {
    display: inline-block;
    width: 1.05rem;
    height: 1.05rem;
    vertical-align: -0.2rem;
}

.kb-kurulum-dugmeleri {
    display: flex;
    gap: 0.5rem;
    margin-left: auto;
}

.dark .kb-kurulum-notu {
    background: var(--gray-900);
    border-color: rgb(255 255 255 / 0.1);
}

.dark .kb-kurulum-metni span {
    color: var(--gray-400);
}

/* "PDF Dosyası Gönder": dosya paylaşımını desteklemeyen tarayıcıda gizli kalır (public/js/pdf-paylas.js). */
.share-pdf.d-none {
    display: none !important;
}
