[data-bs-theme=light] {
    --bs-app-bg-color: #f1f6fa;
    --bs-app-header-base-bg-color: #ffffff;
    --bs-app-header-base-box-shadow: 0 10px 30px 0 rgba(82, 63, 105, 0.05);
}

[data-bs-theme=dark] {
    --bs-app-bg-color: #1c1e24;
    --bs-app-header-base-box-shadow: 0 1px 0 0 #26272f;
    --bs-app-header-minimize-box-shadow: 0 1px 0 0 #26272f;
}

[data-bs-theme=dark] .app-content .card {
    --bs-card-bg: #23252d;
}

#kt_app_toolbar {
    background-color: transparent;
    box-shadow: none;
    border: 0;
}

#kt_app_toolbar_container {
    margin: 0 20px;
    width: auto;
    flex: 1 1 auto;
    min-width: 0;
    background-color: var(--bs-body-bg);
    border: 1px solid var(--bs-gray-200);
    border-radius: 0.625rem;
    box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.03);
    padding: 1rem 1.5rem !important;
}

@media (min-width: 992px) {
    #kt_app_toolbar_container {
        margin: 0 30px;
    }
}

[data-bs-theme=dark] #kt_app_toolbar_container {
    background-color: #23252d;
    border-color: #26272f;
    box-shadow: none;
}

.kt-search-results {
    z-index: 107;
}

.kt-search-item.active,
.kt-search-item:hover {
    background-color: var(--bs-light-primary);
}

@media (min-width: 768px) {
    .kt-search-results {
        min-width: 420px;
    }
}

@media (max-width: 767.98px) {
    #kt_app_header_container {
        position: relative;
    }

    #kt_search_box.kt-search-open {
        display: block !important;
        position: absolute !important;
        left: 1rem;
        right: 1rem;
        top: 100%;
        margin-top: 0.5rem;
        z-index: 106;
        background-color: var(--bs-body-bg);
        border-radius: 0.475rem;
        box-shadow: 0 0.5rem 1.5rem 0.5rem rgba(0, 0, 0, 0.075);
    }
}

/* Uyarılar üst üste açılan modalların da üstünde kalsın */
.swal2-container {
    z-index: 1200 !important;
}

/* Uzun sayfa başlığı alt satıra geçer; breadcrumb tek satırda kalır, sığmayan kısım kısaltılır; sayfa eylemleri sağda sabit durur */
#kt_app_toolbar_container > .page-title {
    flex: 1 1 0;
    min-width: 0;
}

#kt_app_toolbar_container > .page-title > div {
    min-width: 0;
    flex: 1 1 auto;
    flex-wrap: nowrap !important;
}

#kt_app_toolbar_container > .page-title > div > * {
    max-width: 100%;
}

#kt_app_toolbar_container .page-heading {
    display: block !important;
    overflow-wrap: anywhere;
}

#kt_page_crumb {
    flex-wrap: nowrap;
    overflow: hidden;
    white-space: nowrap;
    min-width: 0;
}

#kt_page_crumb > li {
    flex-shrink: 0;
}

#kt_page_crumb > li:not(:has(.bullet)) {
    flex-shrink: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

#kt_page_crumb > li > a {
    overflow: hidden;
    text-overflow: ellipsis;
}

#kt_toolbar_actions {
    flex: 0 0 auto;
}

/* Tablet ve mobil: breadcrumb'da yalnız bir üst seviye; bulunulan seviye zaten başlıkta yazıyor */
@media (max-width: 991.98px) {
    #kt_page_crumb > li:not(:nth-last-child(3)) {
        display: none;
    }

    #kt_page_crumb > li:nth-last-child(3) {
        flex-shrink: 1;
    }
}

@media (max-width: 767.98px) {
    #kt_app_toolbar_container {
        flex-wrap: wrap;
        row-gap: 0.75rem;
    }

    /* Tarih aralığı alanı mobilde takvim ikonu (tıklayınca takvim açılır) */
    .kt-date-icon {
        width: 40px !important;
        flex: 0 0 40px;
    }

    .kt-date-icon > input {
        color: transparent !important;
        padding: 0 !important;
        cursor: pointer;
        background-color: var(--bs-light-primary) !important;
    }

    .kt-date-icon > i {
        pointer-events: none;
        left: 50%;
        margin: 0 !important;
        transform: translate(-50%, -50%) !important;
        color: var(--bs-primary) !important;
    }

    /* Mobilde modal ekranı tam kaplamaz: %90 genişlik ve kenar boşluğu */
    .modal-dialog:not(.modal-fullscreen) {
        width: 90%;
        max-width: 90%;
        margin: 1.25rem auto;
    }

    .modal-dialog:not(.modal-fullscreen) .modal-body {
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
    }
}

/* Tablo alt satırı: sayfa uzunluğu seçimi ve sayfalama aynı yükseklik ve hizada, mobilde de yan yana */
div.dt-container > .row:not(.dt-layout-table):last-child {
    align-items: center;
}

div.dt-container > .row:not(.dt-layout-table):last-child > div {
    margin-top: 0 !important;
    display: flex !important;
    align-items: center;
}

div.dt-container > .row:not(.dt-layout-table):last-child .dt-paging,
div.dt-container > .row:not(.dt-layout-table):last-child .pagination {
    margin: 0 !important;
    padding: 0 !important;
}

div.dt-container .dt-layout-start select.form-select {
    height: 36px;
    min-width: 78px;
    padding: 0 2.25rem 0 1rem !important;
    font-size: 1.075rem !important;
    font-weight: 600;
    color: var(--bs-gray-700);
    border: 0;
    border-radius: 0.475rem;
    background-color: var(--bs-gray-100);
}

div.dt-container .dt-layout-start select.form-select + label {
    display: none;
}

div.dt-container .dt-paging .page-link {
    height: 36px;
    min-width: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ===== Eski layout'tan aynen taşınan tablo, kart başlığı ve mobil kart kuralları ===== */
/* Metronic 8.3'te yok: flex içinde text-truncate'in çalışması için (projede yaygın kullanılıyor) */
.min-w-0 { min-width: 0 !important; }
/* Satır altı bölümlerdeki tabloların DataTables arama kutusu diğer arama kutularıyla aynı görünümde */
.kt-inline-body div.dt-container input[type=search] { margin-left: 0 !important; width: 250px; max-width: 100%; height: 40px; font-size: 1.075rem;
    background-color: var(--bs-body-bg); border: 1px solid var(--bs-gray-200); color: var(--bs-gray-700); }
.kt-inline-body div.dt-container input[type=search] + label { display: none; }

/* Kart içini dolduran kaydırma alanı: kart yüksekliği yan sütundan gelir, içerik kendi içinde kayar */
.kt-fill-body { position: relative; flex: 1 1 auto; min-height: 460px; }
.kt-fill-body > .kt-fill-scroll { position: absolute; inset: 0 var(--bs-card-spacer-x) var(--bs-card-spacer-y); overflow: auto; }

/* Mobil: tablo üstü araç çubuğu tam genişlik; seçim kutusu kendi satırında, açık renkli butonlar yazılı (Filtre yalnız ikon),
   ana (ekle) butonu kalan alanı doldurur. Buton metinleri kt-*.js'de .kt-btn-text içine alınır. */
@media (max-width: 767.98px) {
    .app-content .card-header:has(> .card-title.w-100) { row-gap: .75rem; }
    .app-content .card-header:has(> .card-title.w-100) > .card-toolbar { width: 100%; margin: 0; }
    .app-content .card-header:has(> .card-title.w-100) > .card-toolbar { justify-content: flex-end; }
    .app-content .card-header:has(> .card-title.w-100) > .card-toolbar > .d-flex { width: 100%; justify-content: flex-end !important; gap: .5rem !important; }
    /* Dışa Aktar (kt-*.js .kt-btn-export) yazısıyla kalır ve arama kutusunun yanına geçer; ana (ekle) butonu alt satırda tam genişlik.
       Araç çubuğu kutuları (display: contents) açılır, butonlar doğrudan kart başlığının öğesi olur. */
    .app-content .card-header:has(> .card-title.w-100):has(> .card-toolbar .kt-btn-export) { column-gap: .5rem; }
    .app-content .card-header:has(> .card-title.w-100):has(> .card-toolbar .kt-btn-export) > .card-title { width: auto !important; flex: 1 1 0; min-width: 0; margin: 0 !important; }
    .app-content .card-header:has(> .card-title.w-100):has(> .card-toolbar .kt-btn-export) > .card-toolbar,
    .app-content .card-header:has(> .card-title.w-100):has(> .card-toolbar .kt-btn-export) > .card-toolbar > .d-flex { display: contents !important; }
    .app-content .card-header .card-toolbar .btn.kt-btn-export { margin: 0 !important; flex: 0 0 auto; align-self: center; }
    /* Sıra: 1. satır arama + Dışa Aktar, 2. satır durum seçimi, son satır diğer butonlar (Arşiv vb., yazılı) + Ekle (kalan alanı doldurur) */
    .app-content .card-header:has(> .card-title.w-100):has(> .card-toolbar .kt-btn-export) .kt-btn-export { order: 1; }
    .app-content .card-header:has(> .card-title.w-100):has(> .card-toolbar .kt-btn-export) > .card-toolbar > .d-flex > div:has(> select) { order: 2; }
    /* Araç çubuğundaki bilgi yazısı (.kt-toolbar-row, ör. "Atanan: 3 / 5") mobilde kendi satırında */
    .app-content .card-header:has(> .card-title.w-100):has(> .card-toolbar .kt-btn-export) .kt-toolbar-row { order: 2; flex: 1 1 100%; margin: 0 !important; }
    .app-content .card-header:has(> .card-title.w-100):has(> .card-toolbar .kt-btn-export):not(:has(> .card-toolbar > .d-flex > div:not(.d-none) > select)):not(:has(.kt-toolbar-row))::after { content: ""; order: 2; flex: 1 1 100%; height: 0; margin-top: -.75rem; }
    .app-content .card-header:has(> .card-title.w-100):has(> .card-toolbar .kt-btn-export) > .card-toolbar .btn:not(.kt-btn-export) { order: 3; margin: 0 !important; flex: 0 0 auto; }
    .app-content .card-header:has(> .card-title.w-100):has(> .card-toolbar .kt-btn-export) > .card-toolbar .btn:not(.kt-btn-export):not(.btn-icon):not(.kt-btn-m-icon) { flex: 1 1 auto; white-space: nowrap; }
    .app-content .card-header:has(> .card-title.w-100):has(> .card-toolbar .kt-btn-export) > .card-toolbar .btn.btn-primary:not(.kt-btn-export) { flex: 1 1 0; }
    /* Satır altı (+) bölümlerindeki Dışa Aktar dar alanda yalnız ikon (yazı font-size: 0 ile gizlenir; ikonun fs-2 boyutu !important) */
    .kt-inline-body .card-header .btn.kt-btn-export { font-size: 0; width: 42px; height: 42px; padding: 0 !important;
        display: inline-flex; align-items: center; justify-content: center; }
    .kt-inline-body .card-header .btn.kt-btn-export > i { margin: 0 !important; padding: 0 !important; }
    /* Filtre (kt-*.js .kt-btn-m-icon): sayfanın her yerinde yalnız ikon */
    .btn.kt-btn-m-icon { width: calc(1.5em + 1.55rem + 2px); height: calc(1.5em + 1.55rem + 2px); padding: 0 !important; flex: 0 0 auto;
        display: inline-flex; align-items: center; justify-content: center; }
    .btn.kt-btn-m-icon > .kt-btn-text { display: none; }
    .btn.kt-btn-m-icon > i { margin: 0 !important; padding: 0 !important; }
    .app-content .card-header:has(> .card-title.w-100) > .card-toolbar > .d-flex > div:has(> select) { flex: 1 1 100%; width: 100% !important; }
    .app-content .card-header:has(> .card-title.w-100) > .card-toolbar > .d-flex > .btn-primary,
    .app-content .card-header:has(> .card-title.w-100) > .card-toolbar > .btn-primary { flex: 1 1 auto; }
    /* Kart başlığında doğrudan arama / seçim kutusu olan araç çubukları (ör. Anlık Durum): tam genişlik, yan yana */
    .app-content .card-header { row-gap: .75rem; }
    .app-content .card-header > .card-toolbar:has(> div > input, > div > select) { width: 100%; margin: 0; flex-wrap: nowrap; }
    .app-content .card-header > .card-toolbar:has(> div > input, > div > select) > div:has(> input, > select) { flex: 1 1 0; min-width: 0; width: auto !important; }
    .app-content .card-header > .card-toolbar:has(> div > input, > div > select) > div > input { width: 100% !important; }
    /* Arama kutusu + birkaç buton olan araç çubukları (.kt-toolbar-search): arama kendi satırında, butonlar altında */
    .app-content .card-header > .card-toolbar:has(> .kt-toolbar-search:not(.d-none)) { flex-wrap: wrap !important; }
    .app-content .card-header > .card-toolbar > .kt-toolbar-search { flex: 1 1 100% !important; }
    .app-content .card-header > .card-toolbar > .kt-toolbar-search + .btn { margin-right: auto; }
}
/* Dışa Aktar (kt-table.js .kt-btn-export-icon): her ekranda ve genişlikte yalnız ikon; yazı title / aria-label'da */
.btn.kt-btn-export-icon { width: calc(1.5em + 1.55rem + 2px); height: calc(1.5em + 1.55rem + 2px); padding: 0 !important; flex: 0 0 auto;
    display: inline-flex; align-items: center; justify-content: center; }
.btn.kt-btn-export-icon > .kt-btn-text { display: none; }
.btn.kt-btn-export-icon > i { margin: 0 !important; padding: 0 !important; }
/* Detay sütunu (th.kt-nav, kt-*.js navCells): alt bölüm butonları; tek butonlu hücrede +/- görünür, açık bölümün butonu dolu renk */
th.kt-nav, td[data-kt-nav] { white-space: nowrap; }
.btn .kt-nav-text { display: none; }
.btn.kt-nav-single > i:not(.kt-nav-plus) { display: none; }
.btn.kt-nav-open { background-color: var(--bs-primary) !important; color: var(--bs-white) !important; }
.btn.kt-nav-open i, .btn.kt-nav-open i span::before { color: var(--bs-white) !important; }

/* Çok sütunlu liste tabloları (kt-table.js): sütunlar sıkışmasın diye en az genişlik; kart görünümünde aşağıdaki kural geçersiz kılar */
table.kt-wide { min-width: var(--kt-min-width) !important; }

/* Çerçeveli tablo (kt-table.js; varsayılan, frame: false kapatır): başlık + satırlar ince çerçeveli, köşeleri yuvarlak kutuda (.kt-grid, tabloyu saran
   kutu); başlık açık gri zeminli, satır araları düz çizgi, ortalı yazılmış sütunlar başlığıyla birlikte sola yaslı (sayı sütunları - text-end - sağda kalır).
   Tablonun kendi satırları (>) etkilenir: satır içine açılan alt tablolar kendi çerçevesini alır. Kart görünümüne geçilen genişlikte (991.98 px altı) uygulanmaz. */
@media (min-width: 992px) {
    .kt-grid { border: 1px solid var(--bs-gray-200); border-radius: .625rem; margin-bottom: 1.25rem; }
    table.table.kt-grid-t { margin-bottom: 0 !important; }
    table.table.kt-grid-t > thead > tr > th { background-color: rgba(var(--bs-gray-100-rgb), .55); border-bottom: 1px solid var(--bs-gray-200) !important; padding-top: 1rem; padding-bottom: 1rem; }
    /* Kutu taşmayı kesmez (satırdaki açılır menüler kesilmesin): başlık zemininin köşeleri ayrıca yuvarlanır */
    table.table.kt-grid-t > thead > tr:first-child > th:first-child { border-top-left-radius: .575rem; }
    table.table.kt-grid-t > thead > tr:first-child > th:last-child { border-top-right-radius: .575rem; }
    table.table.kt-grid-t > tbody > tr { border-bottom: 1px solid rgba(var(--bs-gray-200-rgb), .65) !important; }
    table.table.kt-grid-t > tbody > tr:last-child { border-bottom: 0 !important; }
    table.table.kt-grid-t > tfoot > tr { border-top: 1px solid var(--bs-gray-200) !important; }
    table.table.kt-grid-t > :not(caption) > tr > :first-child { padding-left: 1.5rem !important; }
    table.table.kt-grid-t > :not(caption) > tr > :last-child { padding-right: 1.5rem !important; }
    table.table.kt-grid-t > :not(caption) > tr > .text-center:not(.dt-empty) { text-align: start !important; }
    /* Ana metin sütunu (mobilde kart başlığı olan sütun) diğerlerinden geniş: başlıklar iki satıra bölünmesin */
    table.table.kt-grid-t > thead > tr > th[data-mobile="title"] { width: 28%; }
    /* Koyu temada gray-200 kart zeminiyle neredeyse aynı: satır çizgisi bir ton açık */
    [data-bs-theme="dark"] table.table.kt-grid-t > tbody > tr { border-bottom-color: var(--bs-gray-300) !important; }
}

/* Çerçeveli tablo - DataTables ile kurulmayan düz tablolar (rapor özetleri, pencere içi listeler): saran kutu olmadığı için çerçeveyi tablo kendisi
   çizer (ayrık kenarlık modeli; bu modelde satır çizgisi hücreden verilir). Görünüm yukarıdakiyle aynıdır; .kt-grid-off sınıfı kapatır. */
table.table.table-row-dashed:not(.dataTable):not(.kt-grid-t):not(.kt-grid-off) { border-collapse: separate; border-spacing: 0; border: 1px solid var(--bs-gray-200); border-radius: .625rem; }
table.table.table-row-dashed:not(.dataTable):not(.kt-grid-t):not(.kt-grid-off) > thead > tr > th { background-color: rgba(var(--bs-gray-100-rgb), .55); border-bottom: 1px solid var(--bs-gray-200); }
table.table.table-row-dashed:not(.dataTable):not(.kt-grid-t):not(.kt-grid-off) > thead > tr:first-child > th:first-child { border-top-left-radius: .575rem; }
table.table.table-row-dashed:not(.dataTable):not(.kt-grid-t):not(.kt-grid-off) > thead > tr:first-child > th:last-child { border-top-right-radius: .575rem; }
table.table.table-row-dashed:not(.dataTable):not(.kt-grid-t):not(.kt-grid-off) > tbody > tr > td { border-bottom: 1px solid rgba(var(--bs-gray-200-rgb), .65); }
table.table.table-row-dashed:not(.dataTable):not(.kt-grid-t):not(.kt-grid-off) > tbody > tr:last-child > td { border-bottom: 0; }
table.table.table-row-dashed:not(.dataTable):not(.kt-grid-t):not(.kt-grid-off) > tfoot > tr > * { border-top: 1px solid var(--bs-gray-300); }
table.table.table-row-dashed:not(.dataTable):not(.kt-grid-t):not(.kt-grid-off) > :not(caption) > tr > :first-child { padding-left: 1.5rem !important; }
table.table.table-row-dashed:not(.dataTable):not(.kt-grid-t):not(.kt-grid-off) > :not(caption) > tr > :last-child { padding-right: 1.5rem !important; }
table.table.table-row-dashed:not(.dataTable):not(.kt-grid-t):not(.kt-grid-off) > :not(caption) > tr > .text-center { text-align: start !important; }
[data-bs-theme="dark"] table.table.table-row-dashed:not(.dataTable):not(.kt-grid-t):not(.kt-grid-off) > tbody > tr > td { border-bottom-color: var(--bs-gray-300); }

/* Mobil kart görünümü (tablo cards: true): her satır bir kart; başlık sütunu üstte, "etiket: değer" satırları, işlemler altta.
   Etiketler ve roller (kt-c-title / kt-c-actions / kt-c-hide) kt-*.js'de th'lerden verilir. Yalnız tablonun kendi satırları (>) etkilenir. */
@media (max-width: 991.98px) {
    table.kt-cards { display: block; min-width: 0 !important; table-layout: auto !important; width: 100% !important; }
    table.kt-cards > thead { display: none; }
    table.kt-cards > tbody { display: flex; flex-direction: column; gap: .75rem; width: 100%; }
    table.kt-cards > tbody > tr { display: flex; flex-direction: column; border: 1px solid var(--bs-gray-200) !important; border-radius: .625rem; padding: .75rem 1rem !important; box-sizing: border-box; width: 100%; }
    table.kt-cards > tbody > tr > td { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: auto !important; min-width: 0; padding: .45rem 0 !important; border: 0 !important; text-align: end !important; }
    table.kt-cards > tbody > tr > td::before { content: attr(data-label); flex: 0 0 auto; max-width: 45%; text-align: start; color: var(--bs-gray-500); font-size: .95rem; font-weight: 600; }
    /* Metronic son satırın alt çizgisini (!important) kaldırıyor; kartın çerçevesi tam kalsın */
    .table.kt-cards:not(.table-bordered) > tbody > tr:nth-child(n):not(:has(> td[colspan])) { border: 1px solid var(--bs-gray-200) !important; }
    table.kt-cards > tbody > tr > td:not(.kt-c-actions) > :last-child { margin-right: 0 !important; margin-bottom: 0 !important; }
    table.kt-cards > tbody > tr > td:empty,
    table.kt-cards > tbody > tr > td.kt-c-hide { display: none; }
    table.kt-cards > tbody > tr > td.kt-c-title { order: -1; justify-content: flex-start; text-align: start !important; font-size: 1.15rem; font-weight: 700; color: var(--bs-gray-900); padding-bottom: .75rem !important; margin-bottom: .25rem; border-bottom: 1px dashed var(--bs-gray-300) !important; }
    table.kt-cards > tbody > tr > td.kt-c-title > a { color: var(--bs-gray-900) !important; }
    table.kt-cards > tbody > tr > td.kt-c-actions { order: 99; justify-content: flex-end; flex-wrap: wrap; gap: .5rem; white-space: normal !important; padding-top: .75rem !important; margin-top: .25rem; border-top: 1px dashed var(--bs-gray-300) !important; }
    table.kt-cards > tbody > tr > td.kt-c-title::before,
    table.kt-cards > tbody > tr > td.kt-c-actions::before { display: none; }
    table.kt-cards > tbody > tr > td.kt-c-actions > .btn { margin: 0 !important; }
    /* Detay butonları kartın altında yazılı ve eşit genişlikte; işlem ikonları onun altında sağda */
    table.kt-cards > tbody > tr > td.kt-c-nav { order: 98; justify-content: stretch; flex-wrap: wrap; gap: .5rem; white-space: normal !important;
        padding-top: .75rem !important; margin-top: .25rem; border-top: 1px dashed var(--bs-gray-300) !important; }
    table.kt-cards > tbody > tr > td.kt-c-nav::before { display: none; }
    /* Kart listesi sabit yükseklikli kaydırma alanındaysa (Ana Sayfa Saha Ekibi) mobilde alan içeriğe göre, en fazla ekranın %70'i */
    .kt-fill-body:has(table.kt-cards) { min-height: 0; }
    .kt-fill-body > .kt-fill-scroll:has(> table.kt-cards) { position: static; max-height: 70vh; }
    table.kt-cards > tbody > tr > td.kt-c-nav > .btn { flex: 1 1 0; width: auto !important; height: 40px; margin: 0 !important; padding: 0 .75rem !important;
        display: inline-flex; align-items: center; justify-content: center; gap: .4rem; }
    table.kt-cards > tbody > tr > td.kt-c-nav .kt-nav-text { display: inline; font-size: 1rem; font-weight: 600; }
    table.kt-cards > tbody > tr > td.kt-c-nav .btn.kt-nav-single > i:not(.kt-nav-plus) { display: inline-flex; }
    table.kt-cards > tbody > tr > td.kt-c-nav .kt-nav-plus { display: none; }
    /* Detay butonları olan kartta işlemler (düzenle / sil) alanların son satırı gibi durur: solda "İşlemler" etiketi, sağda ikonlar */
    table.kt-cards > tbody > tr:has(> td.kt-c-nav) > td.kt-c-actions { order: 97; border-top: 0 !important; margin-top: 0; padding-top: .45rem !important; flex-wrap: nowrap; }
    table.kt-cards > tbody > tr:has(> td.kt-c-nav) > td.kt-c-actions::before { display: block; margin-right: auto; }
    table.kt-cards > tbody > tr:has(> td.kt-c-nav) > td.kt-c-actions > .btn { width: 36px !important; height: 36px !important; }
    /* Boş tablo satırı ve satır altı (inline) bölümler kart değil, tam genişlik içerik */
    table.kt-cards > tbody > tr:has(> td[colspan]) { border: 0 !important; padding: 0 !important; }
    table.kt-cards > tbody > tr > td[colspan] { display: block; text-align: start !important; padding: 0 !important; }
    table.kt-cards > tbody > tr > td[colspan]::before { display: none; }
    table.kt-cards > tbody > tr > td.dt-empty { text-align: center !important; padding: 2rem 0 !important; }
    /* Satır altı (inline) bölümler: kartın altına yapışık gri alan; içerideki kartlar beyaz, iç kart çerçeveleri ve boşlukları kaldırılır.
       Kartta bölümü satırın kendi butonu açıp kapattığı için soldaki +/- düğmesi gösterilmez. */
    table.kt-cards > tbody > tr { min-width: 0; background-color: var(--bs-card-bg); }
    table.kt-cards > tbody > tr > td[colspan] { min-width: 0; width: 100% !important; }
    table.kt-cards .kt-inline-toggle { display: none !important; }
    table.kt-cards .kt-drill-dup { display: inline-flex !important; }
    table.kt-cards.kt-has-toggle > tbody > tr > td:first-child:not([colspan]) { padding-left: 0 !important; }            table.kt-cards > tbody > tr.kt-inline-open { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
    table.kt-cards > tbody > tr.kt-inline-child { margin-top: -.75rem; background-color: transparent; }
    table.kt-cards > tbody > tr.kt-inline-child > td { padding: .75rem !important; background-color: var(--bs-gray-100); border: 1px solid var(--bs-gray-200) !important; border-top: 0 !important; border-radius: 0 0 .625rem .625rem; }
    table.kt-cards .kt-inline-body > .card { border: 0 !important; box-shadow: none !important; background: transparent !important; border-radius: 0; }
    table.kt-cards .kt-inline-body > .card > .card-header { padding: 0 !important; min-height: 0; border: 0 !important; margin-bottom: .75rem; }
    table.kt-cards .kt-inline-body > .card > .card-body { padding: 0 !important; }
    table.kt-cards .kt-inline-body .dt-layout-table { min-height: 0 !important; }
    table.kt-cards .kt-inline-body .dt-container > .row:not(.dt-layout-table) { margin-top: .5rem; }
}

/* ===== Katmanli gezinme (kt-drill.js / kt-trail.js; eski mw.js drillCss) ===== */
/* Bolum icerigi kendi kartiyla gelir: dis kartla birlessin (cercevesiz, yatay bosluksuz) */
.kt-drill-head { padding: 1.5rem var(--bs-card-spacer-x) 0; }
.kt-drill-body:not(:has(> .kt-drill-cards)) > .card { border: 0 !important; box-shadow: none !important; background: transparent !important; border-radius: 0; }
.kt-drill-body:not(:has(> .kt-drill-cards)) > .card > .card-header { padding-left: 0 !important; padding-right: 0 !important; padding-top: 1.5rem !important; min-height: 0; border: 0 !important; }
.kt-drill-body:not(:has(> .kt-drill-cards)) > .card > .card-body { padding: 0 !important; }
/* Satir alti bolum satirin hemen altinda tam genislikte acilir: ic kartin cercevesi ve yatay bosluklari kaldirilir */
tr.kt-inline-child > td { background-color: var(--bs-gray-100); padding: .75rem 1rem 1rem !important; border-radius: .625rem; }
.kt-inline-body > .card { border: 0 !important; box-shadow: none !important; background: transparent !important; border-radius: 0; }
.kt-inline-body > .card > .card-header { padding: 0 !important; min-height: 0; border: 0 !important; margin-bottom: .5rem; }
.kt-inline-body > .card > .card-body { padding: 0 !important; }
.kt-inline-body .dt-layout-table { min-height: 0 !important; }
tr.kt-inline-open > td { border-bottom-color: transparent !important; }
/* +/- dugmesi ilk sutunun solunda kendi sutunu gibi durur (baslik dahil tum satirlar ayni girintide) */
table.kt-has-toggle > thead > tr > th:first-child,
table.kt-has-toggle > tbody > tr > td:first-child:not([colspan]) { position: relative; padding-left: 3rem !important; }
table.kt-has-toggle .kt-inline-toggle { position: absolute; left: 0; top: 50%; transform: translateY(-50%); margin: 0 !important; }
/* +/- dugmesi olan satirda ayni bolumu acan islem butonu gereksiz; mobil kart gorunumunde +/- gizli oldugundan buton orada gorunur */
.kt-drill-dup { display: none !important; }

/* Lejant isareti: 12x12 koseli kare (eski inline style karsiligi) */
.kt-legend { display: inline-block; flex-shrink: 0; width: 12px; height: 12px; border-radius: 3px; }

/* Kaydırmalı (scrollY) tablolarda DataTables gövdeye yalnız sütun genişliği için ikinci bir başlık koyar;
   Metronic'in hücre dolgusu onu görünür yapıyordu. Sıralama oku asıl başlıkta olduğundan bu satır gizlenir. */
div.dt-scroll-body thead th,
div.dt-scroll-body thead td {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-top-width: 0 !important;
    border-bottom-width: 0 !important;
    height: 0 !important;
    line-height: 0 !important;
}

div.dt-scroll-body thead tr {
    height: 0 !important;
    visibility: collapse;
}

div.dt-scroll-body thead .dt-scroll-sizing {
    height: 0 !important;
    overflow: hidden !important;
}

/* Log ekrani: detay govdesi satir sonlarini korur, mesaj sutunu kisaltilir */
.kt-log-detail { white-space: pre-wrap; word-break: break-word; }
.kt-log-message { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }

/* Tablet (768-991px): tablo yerine kart görünümü, kartlar iki sütun; alt bölüm / boş satır (colspan) tam genişlik.
   Yan yana iki kartın satırları (başlık, alanlar, düğmeler) veri olsa da olmasa da aynı hizada durur: her kart üst ızgaranın
   satırlarını paylaşır (subgrid). Kartın alan sayısı 12'yi geçmez; kullanılmayan satırlar yer tutmaz. */
@media (min-width: 768px) and (max-width: 991.98px) {
    table.kt-cards > tbody { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 .75rem; }
    table.kt-cards > tbody > tr { margin-bottom: .75rem; }
    table.kt-cards > tbody > tr:not(:has(> td[colspan])) { display: grid; grid-template-rows: subgrid; grid-row: span 12; row-gap: 0; }
    table.kt-cards > tbody > tr:has(> td[colspan]) { grid-column: 1 / -1; }
}

/* Menü aç/kapa düğmesi (üst bar): menü açıkken sola bakan çift ok (daralt), daraltılmışken sağa bakan çift ok (genişlet).
   Metronic ".btn > i" kuralı display verdiği için !important gerekir. */
#kt_sidebar_toggle > .kt-sidebar-toggle-closed { display: none !important; }
[data-kt-app-sidebar-minimize="on"] #kt_sidebar_toggle > .kt-sidebar-toggle-open { display: none !important; }
[data-kt-app-sidebar-minimize="on"] #kt_sidebar_toggle > .kt-sidebar-toggle-closed { display: inline-flex !important; }

/* Daraltılmış menü üzerine gelince genişler: üst barın (z-index 110) altında kalıp logosu kesilmesin, içeriğin üstünde açılsın. */
@media (min-width: 992px) {
    /* Menü üst barın (z-index 110) önünde: kenardaki aç/kapa düğmesi ve üzerine gelince genişleyen menü kesilmez. */
    #kt_app_sidebar { z-index: 111; }
    /* Düğme logo satırının (üst bar yüksekliği) dikey ortasında. */
    .kt-sidebar-toggle { top: calc((var(--bs-app-header-height, 70px) - 30px) / 2); }
}
[data-kt-app-sidebar-minimize="on"] #kt_app_sidebar:hover { box-shadow: 0 0 2.5rem rgba(0, 0, 0, .25); }

/* Tablet (768-991px): geniş pencereler (modal-lg / modal-xl) Bootstrap'ta 992px altına inince 500px'e düşüyor ve iki yanda boşluk
   kalıp alanlar sıkışıyordu; tablette ekranın genişliğini kullanır. */
@media (min-width: 768px) and (max-width: 991.98px) {
    .modal-dialog.modal-lg,
    .modal-dialog.modal-xl {
        max-width: calc(100% - 3rem);
    }
}

/* ─── Ana sayfa (Home/Index) ─────────────────────────────────────────────── */
.home-chart {
    min-height: 260px;
}

.home-map-info {
    width: 270px;
}

/* ─── Hata sayfası (Error/Index) ─────────────────────────────────────────────── */
.error-page {
    background-image: url('../metronic8/assets/media/auth/bg1.jpg');
}

[data-bs-theme="dark"] .error-page {
    background-image: url('../metronic8/assets/media/auth/bg1-dark.jpg');
}
    

/* ─── Giriş sayfası (Account/Login) ─────────────────────────────────────────────── */
.login-aside {
    background-image: url('../metronic8/assets/media/misc/auth-bg.png');
}
    

/* ─── Anket formu (SurveyForm/Index) ─── */
body:has(.survey-form-wrap) { background: #f1f6fa; }
.survey-form-wrap { max-width: 760px; }
.survey-form-option { cursor: pointer; transition: border-color .15s, background-color .15s; }
.survey-form-option:hover { border-color: var(--bs-primary) !important; }
.survey-form-option:has(input:checked) { border-color: var(--bs-primary) !important; background-color: var(--bs-primary-light); }
.survey-form-option:has(input:focus-visible) { box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .25); }
.survey-form-question.survey-form-invalid { border: 1px solid var(--bs-danger) !important; }
.survey-form-error { display: none; }
.survey-form-invalid .survey-form-error { display: block; }
.survey-form-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.survey-form-cookie { z-index: 1060; }
.survey-form-rich p:last-child { margin-bottom: 0; }

/* ─── Personel düzenleme: mağaza ve rut sekmeleri (Merchandiser/Edit) ─── */
#routeTable { max-height: 620px; }
#routeTable thead th { position: sticky; top: 0; z-index: 2; background: var(--bs-body-bg); }
#routeGrid td, #routeGrid th { white-space: nowrap; }
.merch-route-list { display: flex; flex-wrap: wrap; gap: .5rem; }
.merch-route-item { display: flex; align-items: flex-end; gap: .5rem; padding: .5rem .75rem; border: 1px dashed var(--bs-gray-300); border-radius: .475rem; }
.merch-route-item label { font-size: .85rem; color: var(--bs-gray-500); margin-bottom: .25rem; display: block; }
.merch-route-item .merch-route-date { width: 110px; }
.merch-route-item .merch-route-start, .merch-route-item .merch-route-end { width: 100px; }
.flatpickr-calendar { z-index: 20050 !important; }

/* ─── Personel profili (Merchandiser/Detail) ─── */
#routeCalendar .fc-toolbar-title { font-size: 1.35rem; font-weight: 600; }
#routeCalendar .fc-daygrid-day-top { align-items: center; }
#routeCalendar .fc-timegrid-slot { height: 3.75rem; }
#routeCalendar .fc-timegrid-event { border: 0; border-radius: .475rem; box-shadow: none; }
#routeCalendar .route-event { height: 100%; overflow: hidden; padding: .25rem .4rem; line-height: 1.25; }
#routeCalendar .route-event-title { font-size: .85rem; font-weight: 600; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; overflow-wrap: anywhere; }
#routeCalendar .route-event-time { font-size: .75rem; opacity: .85; white-space: nowrap; }
#routeCalendar .fc-daygrid-event .route-event { display: flex; gap: .35rem; align-items: baseline; padding: .1rem .35rem; }
#routeCalendar .fc-daygrid-event .route-event-title { -webkit-line-clamp: 1; line-clamp: 1; font-weight: 500; }
@media (max-width: 767.98px) { #routeCalendar .fc-header-toolbar { flex-direction: column; gap: .75rem; } }
/* ─── Müşteri / Mağaza detayı (Customer/Detail, Store/Detail) ─── */
/* Üst karttaki özet kutuları: renkli ikon kutusu + değer + etiket */
.fd-kpi { display: flex; align-items: center; gap: .85rem; min-width: 128px; padding: .75rem 1rem; border-radius: .625rem; background-color: var(--bs-gray-100); }
/* Geniş ekranda kutular tek satırda kalır; ad ve künye kalan yeri alır */
@media (min-width: 1400px) { .fd-kpis { flex-wrap: nowrap !important; flex-shrink: 0; } }
/* Telefonda kutular ikişerli dizilir; ziyaret araç çubuğu alt satıra geçebilir */
@media (max-width: 575.98px) { .fd-kpis { width: 100%; } .fd-kpi { flex: 1 1 calc(50% - .5rem); min-width: 0; } }
@media (max-width: 991.98px) { #fdVisits .card-toolbar { flex-wrap: wrap !important; } #fdVisitSearchBox { flex: 1 1 100%; } #fdVisitSearchBox .form-control { width: 100% !important; } }
.fd-kpi-icon { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 38px; height: 38px; border-radius: .5rem; }
.fd-kpi-value { font-size: 1.4rem; font-weight: 700; line-height: 1.15; color: var(--bs-gray-900); white-space: nowrap; }
.fd-kpi-label { font-size: .9rem; font-weight: 600; color: var(--bs-gray-500); white-space: nowrap; }
/* Genel Bakış: solda ziyaretler, sağda sabit genişlikte harita / saha özeti / son ziyaret */
.fd-overview { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
@media (min-width: 1200px) { .fd-overview { grid-template-columns: minmax(0, 1fr) 350px; gap: 2rem; } }
/* Saha özeti kutuları: ikon üstte, altında değer ve etiket */
.fd-sums { display: grid; grid-template-columns: repeat(auto-fit, minmax(60px, 1fr)); gap: .6rem; }
.fd-sum { display: flex; flex-direction: column; align-items: center; text-align: center; gap: .5rem; padding: .85rem .6rem; border-radius: .625rem; background-color: var(--bs-gray-100); min-width: 0; }
.fd-sum-value { font-size: 1.25rem; font-weight: 700; line-height: 1.1; color: var(--bs-gray-900); white-space: nowrap; }
.fd-sum .fd-kpi-label { font-size: .85rem; white-space: normal; }
/* Ölçümler sekmesi: solda genel performans paneli (halka + bantlar), sağda ölçüm puanı kutuları; kutu sayısı kaç olursa olsun panel solda kalır */
.fd-measure-top { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
@media (min-width: 1200px) { .fd-measure-top { grid-template-columns: 290px minmax(0, 1fr); } }
.fd-overall { display: flex; flex-direction: column; padding: 1.25rem 1.5rem; border: 1px solid var(--bs-gray-200); border-radius: .625rem; background-color: var(--bs-gray-100); }
.fd-band { display: flex; align-items: center; gap: .6rem; padding: .3rem 0; font-size: .95rem; font-weight: 600; color: var(--bs-gray-700); }
.fd-band-dot { flex-shrink: 0; width: 10px; height: 10px; border-radius: 50%; }
.fd-band-count { margin-left: auto; font-weight: 700; color: var(--bs-gray-900); }
.fd-score-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(215px, 1fr)); gap: 1rem; align-content: start; }
/* Geniş ekranda puan kutuları soldaki Genel Performans paneliyle aynı yükseklikte biter: sütun sayısı ölçüm sayısına göre seçilir (--fd-cols,
   iki satıra bölünür: 5 ölçüm 3 + 2, 6 ölçüm 3 + 3, 8 ölçüm 4 + 4) ve satırlar paneli doldurur. 8'den fazla ölçümde 4 sütun, satırlar aşağı doğru artar. */
@media (min-width: 1200px) {
    .fd-score-grid[style*="--fd-cols"] { grid-template-columns: repeat(var(--fd-cols), minmax(0, 1fr)); grid-auto-rows: 1fr; align-content: stretch; }
    .fd-score-grid[style*="--fd-cols"] > .fd-score { display: flex; flex-direction: column; justify-content: center; }
}
.fd-score { min-width: 0; padding: 1rem 1.1rem; border: 1px solid var(--bs-gray-200); border-radius: .625rem; }
.fd-score-value { font-size: 1.6rem; font-weight: 700; line-height: 1.1; color: var(--bs-gray-900); }
.fd-score-name { font-size: .95rem; font-weight: 600; color: var(--bs-gray-700); }
.fd-score .fd-arrow { font-size: 14px !important; vertical-align: -2px; margin-right: 2px; }
/* Ziyaret tablosu: mağaza adı en çok iki satır, küçük mağaza görseli köşeli */
.fd-two-line { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; font-weight: 600; line-height: 1.3; }
.fd-store-thumb > img { border-radius: .5rem; }
:is(.fd-visit-table, #mdVisitTable) .fd-arrow { font-size: 14px !important; vertical-align: -2px; }
/* Sütun genişlikleri: dar sütunlar sabit, mağaza ve kullanıcı kalan yeri paylaşır (genel "ana sütun %28" kuralı burada uygulanmaz) */
@media (min-width: 992px) {
    table.table.fd-visit-table > thead > tr > th.fd-col-store { width: auto; }
    table.table.fd-visit-table > thead > tr > th.fd-col-user { width: 126px; }
    table.table.fd-visit-table > thead > tr > th.fd-col-nav { width: 52px; }
    table.table.fd-visit-table > thead > tr > th.fd-col-date { width: 82px; }
    table.table.fd-visit-table > thead > tr > th.fd-col-time { width: 100px; }
    table.table.fd-visit-table > thead > tr > th.fd-col-duration { width: 54px; }
    table.table.fd-visit-table > thead > tr > th.fd-col-forms { width: 94px; }
    table.table.fd-visit-table > thead > tr > th.fd-col-status { width: 106px; }
    table.table.fd-visit-table > thead > tr > th.fd-col-menu { width: 72px; }
    /* Çerçeve kenar boşluğu bu tabloda dar: sütunlara yer kalsın */
    table.table.fd-visit-table > :not(caption) > tr > :first-child { padding-left: .85rem !important; }
    table.table.fd-visit-table > :not(caption) > tr > :last-child { padding-right: .85rem !important; }
    /* Mağaza detayında mağaza sütunu yoktur: kalan yeri kullanıcı sütunu alır */
    table.table.fd-visit-table > thead > tr:not(:has(> th.fd-col-store)) > th.fd-col-user { width: auto; }
    table.table.fd-visit-table > :not(caption) > tr > * { padding-left: .5rem; padding-right: .5rem; }
}
/* Kullanıcı adı tek satır: sığmazsa üç noktayla kesilir (tam ad ipucunda); geniş ekranda sütun genişler */
@media (min-width: 992px) { .fd-visit-table td.fd-user .text-break { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; word-break: normal !important; overflow-wrap: normal !important; } }
/* Geniş ekranda artan yer yalnız ad sütununa gitmez: dar sütunlar da açılır (sağ taraf sıkışık, ad ile tarih arası boş kalmasın) */
@media (min-width: 1700px) {
    table.table.fd-visit-table > thead > tr > th.fd-col-user { width: 17%; }
    table.table.fd-visit-table > thead > tr > th.fd-col-date { width: 10.5%; }
    table.table.fd-visit-table > thead > tr > th.fd-col-time { width: 12.5%; }
    table.table.fd-visit-table > thead > tr > th.fd-col-duration { width: 7.5%; }
    table.table.fd-visit-table > thead > tr > th.fd-col-forms { width: 10.5%; }
    table.table.fd-visit-table > thead > tr > th.fd-col-status { width: 12%; }
    table.table.fd-visit-table > thead > tr:not(:has(> th.fd-col-store)) > th.fd-col-date { width: 14%; }
    table.table.fd-visit-table > thead > tr:not(:has(> th.fd-col-store)) > th.fd-col-time { width: 16%; }
    table.table.fd-visit-table > thead > tr:not(:has(> th.fd-col-store)) > th.fd-col-duration { width: 11%; }
    table.table.fd-visit-table > thead > tr:not(:has(> th.fd-col-store)) > th.fd-col-forms { width: 14%; }
    table.table.fd-visit-table > thead > tr:not(:has(> th.fd-col-store)) > th.fd-col-status { width: 15%; }
}
/* Mağaza detayında işlem sütununda tek düğme var */
@media (min-width: 992px) { table.table.fd-visit-table > thead > tr:not(:has(> th.fd-col-store)) > th.fd-col-menu { width: 46px; } }
/* Mağaza görseli yalnız geniş ekranda: dar ekranda ad sütununa yer kalsın */
@media (max-width: 1699.98px) { .fd-visit-table .fd-store-thumb { display: none; } }
.fd-visit-table .symbol.symbol-35px > img, .fd-visit-table .symbol.symbol-35px .symbol-label { width: 30px; height: 30px; }
.merch-tracker-pin { margin: 0; padding: 0; width: 17px; height: 17px; background-size: 17px 17px; background-position: center; float: left; }
.merch-tracker-time { height: 17px !important; float: left; margin-left: 10px; }
/* Çizgi, yanındaki bilgi kutusu kadar uzar: bir sonraki işarete kadar kesintisiz iner (süreye göre en az yükseklik satır içinde verilir) */
.merch-tracker-row { display: flex; }
.merch-tracker-line { flex: 0 0 17px; margin: 0; padding: 0; background-size: 12px auto; background-repeat: repeat-y; background-position: center; }
.merch-tracker-info { flex: 1 1 auto; min-width: 0; margin-left: 13px; padding: 6px 0 10px; }
.merch-tracker-pane { height: 680px; }
@media (max-width: 991.98px) {
    .merch-tracker-pane { height: auto; }
    #merchTrackMap { order: -1; height: 55vh; min-height: 300px; }
    #barscroller { max-height: 45vh; }
    #mtControls .w-200px { width: auto !important; flex: 1 1 120px; }
}

/* ─── Anket dilleri (Survey/Language) ─── */
/* TinyMCE açılır menüleri modalın üstünde kalsın */
.tox-tinymce-aux { z-index: 10000000; }

/* ─── Resim kontrol listesi (ImageCheck/Control) ─── */
#answersTable .image-check-thumb { width: 44px; height: 44px; object-fit: cover; cursor: zoom-in; }
#answersTable .image-check-thumb-more { width: 44px; height: 44px; cursor: pointer; }
#answersTable .image-check-clamp { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
#photoCarouselInner img, #photoCarouselInner video { background: #15171c; }

/* ─── Resim onaylama (ImageCheck/Review) ─── */
.image-check-review-stage { position: relative; height: 60vh; min-height: 320px; background: #15171c; border-radius: .625rem; overflow: hidden; user-select: none; touch-action: pan-y; }
.image-check-review-stage-media { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: .75rem; will-change: transform; }
.image-check-review-stage-media.image-check-review-animate { transition: transform .32s ease, opacity .32s ease; }
.image-check-review-stage-media img, .image-check-review-stage-media video { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: .325rem; -webkit-user-drag: none; }
.image-check-review-stage-media img { cursor: grab; }
.image-check-review-stage.image-check-review-zoom .image-check-review-stage-media img { cursor: crosshair; }
.image-check-review-stage-media.image-check-review-out-right { transform: translateX(120%) rotate(10deg); opacity: 0; }
.image-check-review-stage-media.image-check-review-out-left { transform: translateX(-120%) rotate(-10deg); opacity: 0; }
.image-check-review-stage-media.image-check-review-in { animation: image-check-review-in .28s ease; }
@keyframes image-check-review-in { from { opacity: 0; transform: scale(.97); } to { opacity: 1; transform: none; } }
.image-check-review-stage-nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 4; }
.image-check-review-stage-nav.image-check-review-prev { left: 1rem; }
.image-check-review-stage-nav.image-check-review-next { right: 1rem; }
.image-check-review-stage-nav .btn { background: rgba(255,255,255,.14); color: #fff; backdrop-filter: blur(4px); }
.image-check-review-stage-nav .btn:hover:not(:disabled) { background: rgba(255,255,255,.3); color: #fff; }
.image-check-review-stage-nav .btn i { color: #fff; }
.image-check-review-stage-nav .btn:disabled { opacity: .25; }
.image-check-review-stage-pill { position: absolute; bottom: 1rem; left: 50%; transform: translateX(-50%); z-index: 4; background: rgba(0,0,0,.55); color: #fff; border-radius: 2rem; padding: .3rem .9rem; font-size: .85rem; font-weight: 600; }
.image-check-review-stage-stamp { position: absolute; top: 1.5rem; z-index: 4; padding: .35rem 1rem; border: 3px solid; border-radius: .5rem; font-weight: 800; font-size: 1.6rem; letter-spacing: .05em; opacity: 0; pointer-events: none; background: rgba(0,0,0,.35); }
.image-check-review-stage-stamp.image-check-review-approve { left: 1.5rem; color: var(--bs-success); border-color: var(--bs-success); transform: rotate(-12deg); }
.image-check-review-stage-stamp.image-check-review-reject { right: 1.5rem; color: var(--bs-danger); border-color: var(--bs-danger); transform: rotate(12deg); }
.image-check-review-thumb { width: 72px; height: 72px; object-fit: cover; border-radius: .475rem; border: 2px solid transparent; cursor: pointer; opacity: .6; flex-shrink: 0; transition: opacity .15s, border-color .15s; background: #15171c; }
.image-check-review-thumb:hover { opacity: .9; }
.image-check-review-thumb.active { border-color: var(--bs-primary); opacity: 1; }
.image-check-review-thumb-video { display: inline-flex; align-items: center; justify-content: center; }
.image-check-review-lens { position: fixed; width: 220px; height: 220px; border-radius: 50%; border: 3px solid #fff; box-shadow: 0 0 0 1px rgba(0,0,0,.35), 0 10px 30px rgba(0,0,0,.45); background-repeat: no-repeat; pointer-events: none; display: none; z-index: 2000; }
.image-check-review-key { display: inline-block; min-width: 1.6rem; padding: .1rem .4rem; border-radius: .325rem; border: 1px solid var(--bs-gray-300); background: var(--bs-gray-100); color: var(--bs-gray-800); font-size: .75rem; font-weight: 700; text-align: center; line-height: 1.3; }
.image-check-review-btn-key { display: inline-block; margin-left: .5rem; padding: 0 .4rem; border-radius: .25rem; background: rgba(255,255,255,.25); font-size: .75rem; font-weight: 700; }
.image-check-review-shake { animation: mwShake .4s; }
@keyframes mwShake { 0%,100% { transform: none; } 25% { transform: translateX(-6px); } 75% { transform: translateX(6px); } }
.image-check-review-reasons-alert { outline: 2px dashed var(--bs-danger); outline-offset: 6px; border-radius: .475rem; }
/* İnceleme yerleşimi: mobilde merchandiser -> resim -> karar -> soru/cevap -> son kararlar; geniş ekranda resim solda, kartlar sağda */
.image-check-review-review { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
.image-check-review-review > .card { margin: 0 !important; }
@media (min-width: 1200px) {
    .image-check-review-review { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 1.5rem 2rem; align-items: start; }
    .image-check-review-review > .image-check-review-r-image { grid-column: 1; grid-row: 1 / span 5; }
    .image-check-review-review > .image-check-review-r-info, .image-check-review-review > .image-check-review-r-question, .image-check-review-review > .image-check-review-r-decide, .image-check-review-review > .image-check-review-r-history { grid-column: 2; }
    .image-check-review-review > .image-check-review-r-info { order: 1; } .image-check-review-review > .image-check-review-r-question { order: 2; } .image-check-review-review > .image-check-review-r-decide { order: 3; } .image-check-review-review > .image-check-review-r-history { order: 4; }
}
@media (max-width: 1199.98px) {
    .image-check-review-stage { height: 50vh; }
    .image-check-review-review > .image-check-review-r-info { order: 1; } .image-check-review-review > .image-check-review-r-image { order: 2; } .image-check-review-review > .image-check-review-r-decide { order: 3; }
    .image-check-review-review > .image-check-review-r-question { order: 4; } .image-check-review-review > .image-check-review-r-history { order: 5; }
}
@media (max-width: 575.98px) { .image-check-review-stage { height: 45vh; min-height: 260px; } .image-check-review-thumb { width: 56px; height: 56px; } }

/* Alt bölüm kendi kartlarını taşıyorsa (ilk çocuğu .kt-drill-cards: özet kartları + ayrı tablo kartı), dış kart görünmez olur ve
   kartlar Resim Kontrol sayfasındaki gibi gri zeminde ayrı ayrı durur. Bölüm kapanınca liste kartı eski hâline döner. */
.card:has(> .card-body .kt-drill > .kt-drill-body > .kt-drill-cards) {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
}

.card:has(> .card-body .kt-drill > .kt-drill-body > .kt-drill-cards) > .card-body {
    padding: 0 !important;
}

/* ── Raf Tanıma Sonucu (ShelfVision/Result): realogram raf görünümü ve fotoğraf üzerindeki işaretler ── */
.svr-shelf { background: var(--bs-gray-100); padding: 1.5rem; border-radius: .75rem; border: 1px solid var(--bs-gray-300); max-width: fit-content; margin: 0 auto; }
.svr-row { position: relative; margin-bottom: .5rem; padding: 3px 0 8px 0; min-height: 50px; background: var(--bs-body-bg); border-radius: .5rem; }
.svr-rail { position: absolute; bottom: 0; left: 15px; right: 15px; height: 6px; background: linear-gradient(90deg, #6c757d 0%, #adb5bd 20%, #f8f9fa 50%, #adb5bd 80%, #6c757d 100%); border-radius: 3px; }
.svr-products { display: flex; flex-wrap: nowrap; gap: 3px; align-items: flex-end; padding: 5px 20px 8px 20px; min-height: 42px; justify-content: center; overflow-x: auto; }
.svr-item { position: relative; width: 40px; height: 50px; border-radius: 4px; display: flex; justify-content: center; align-items: center; cursor: pointer; transition: transform .2s ease; flex-shrink: 0; }
.svr-item:hover { transform: scale(1.1) translateY(-5px); z-index: 10; }
.svr-item.svr-company { background: var(--bs-success); border: 2px solid var(--bs-success-active); }
.svr-item.svr-competitor { background: var(--bs-danger); border: 2px solid var(--bs-danger-active); }
.svr-item.svr-unknown { background: var(--bs-warning); border: 2px solid var(--bs-warning-active); }
.svr-item-image { width: 34px; height: 42px; object-fit: contain; border-radius: 2px; background: #fff; padding: 1px; }
.svr-item-text { color: #fff; font-size: 7px; font-weight: 700; text-align: center; line-height: 1; max-width: 33px; }
.svr-tooltip { position: absolute; bottom: 55px; left: 50%; transform: translateX(-50%); background: rgba(33, 37, 41, .95); color: #fff; padding: 6px 10px; border-radius: 6px; font-size: 11px; text-align: center; white-space: nowrap; opacity: 0; visibility: hidden; transition: opacity .2s ease; z-index: 20; }
.svr-item:hover .svr-tooltip { opacity: 1; visibility: visible; }
.svr-image-scroll { text-align: center; max-height: 700px; overflow-y: auto; }
.svr-image-wrap { position: relative; display: inline-block; margin: 20px auto; max-width: 90%; }
.svr-image-wrap img { max-width: 100%; max-height: 600px; width: auto; height: auto; border: 2px solid var(--bs-gray-300); border-radius: 8px; object-fit: contain; }
.svr-marker { position: absolute; border-radius: 4px; cursor: pointer; min-width: 20px; min-height: 20px; box-shadow: 0 2px 8px rgba(0, 0, 0, .3); transition: transform .2s ease; z-index: 100; border: 2px solid; }
.svr-marker:hover { transform: scale(1.05); z-index: 200; }
.svr-marker.svr-company { border-color: #4caf50; background: rgba(76, 175, 80, .3); }
.svr-marker.svr-competitor { border-color: #f44336; background: rgba(244, 67, 54, .3); }
.svr-marker.svr-unknown { border-color: #ff9800; background: rgba(255, 152, 0, .3); }
.svr-marker-info { position: absolute; top: -45px; left: 50%; transform: translateX(-50%); background: rgba(0, 0, 0, .9); color: #fff; padding: 6px 10px; border-radius: 4px; font-size: 11px; white-space: nowrap; z-index: 1000; display: none; }
.svr-marker:hover .svr-marker-info { display: block; }
.svr-marker-info img { width: 18px; height: 18px; object-fit: cover; vertical-align: middle; margin-right: 4px; }

/* ─── Detay başlığı istatistik kutuları: telefonda satırı eşit böler, ≥576px sabit genişlik ─── */
.kt-stat-box { flex: 1 1 0; min-width: 0; }
@media (min-width: 576px) { .kt-stat-box { flex: 0 0 auto; min-width: 125px; } }

/* ─── Araç çubuğu: dar ekranda başlığın altına iner ─── */
#kt_app_toolbar_container { flex-wrap: wrap; row-gap: .5rem; }

/* Yüklenemeyen görselin yer tutucusu kutuyu doldurmaz, ortalanır */
img.kt-img-missing { object-fit: contain !important; background-color: var(--bs-gray-100); }

/* Bölünemeyen uzun metin (boşluksuz açıklama vb.) tablo hücresini ve kartı taşırmasın */
table.table td, table.table th { overflow-wrap: anywhere; }

/* Telefonda modal içi kaydırma alanı (scroll-y me-n7 pe-7) diyalogdan taşmasın */
@media (max-width: 575.98px) { .modal .scroll-y.me-n7 { margin-right: 0 !important; padding-right: 0 !important; } }

/* Pivot kütüphanesinin subtotal.css dosyası body yazı tipini Verdana yapıyor (sekme açılınca tüm sayfa büyümüş görünür): tema yazı tipi korunur */
html body { font-family: var(--bs-body-font-family); }
/* ─── Pivot (pivot.js + subtotal.js) tema görünümü: kütüphane stili sonradan yüklendiği için seçiciler "body" ile güçlendirilir ─── */
body .pvtUi, body .pvtUi select, body .pvtUi td, body .pvtUi th, body table.pvtTable { font-family: inherit; }
/* Düzen: sol sütun sabit (görünüm / hesap / satır alanları), sağda alan etiketleri ve sonuç; sonuç tablosu kendi içinde kayar */
body .pvtUi { color: var(--bs-gray-700); width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: .5rem 0; }
body .pvtUi > tr > td, body .pvtUi > tbody > tr > td { border-bottom: .5rem solid transparent; background-clip: padding-box; }
/* pivot.js satırları tbody olmadan ekler: iki biçim de yazılır */
body .pvtUi > tr > td, body .pvtUi > tbody > tr > td { vertical-align: top; }
body .pvtUi > tr > td:first-child, body .pvtUi > tbody > tr > td:first-child { width: 230px; }
body .pvtUi td.pvtRendererArea { display: block; overflow: auto; max-height: 70vh; }
body .pvtUi .pvtHorizList li { display: inline-block; }
body .pvtUi td.pvtRows { max-height: 70vh; }
body .pvtUi > tr:first-child > td:first-child select, body .pvtUi > tbody > tr:first-child > td:first-child select, body .pvtUi .pvtVals select { width: 100%; margin-bottom: .4rem; }
/* Sonuç tablosu içeriği kadar genişler (kayar alan içinde); uzun değer listeleri 320 px'te alt satıra iner */
body .pvtUi table.pvtTable { width: max-content; }
body table.pvtTable tbody tr td, body table.pvtTable tbody tr th { max-width: 320px; }
body table.pvtTable thead tr th, body table.pvtTable tbody tr th { white-space: nowrap; }
/* Alan kutuları (kullanılmayanlar, satırlar, sütunlar, değerler) */
body .pvtAxisContainer, body .pvtVals { background: var(--bs-gray-100); border: 1px dashed var(--bs-gray-300); border-radius: .625rem; padding: .6rem; min-width: 30px; min-height: 30px; }
body .pvtRendererArea { padding: 0; }
body .pvtAxisContainer li { padding: .25rem .15rem; }
body .pvtAxisContainer li span.pvtAttr { display: inline-flex; align-items: center; gap: .25rem; background: var(--bs-body-bg); border: 1px solid var(--bs-gray-300); border-radius: .425rem; padding: .35rem .6rem; font-size: .95rem; font-weight: 600; color: var(--bs-gray-700); }
body .pvtAxisContainer li.pvtPlaceholder { border: 1px dashed var(--bs-primary); border-radius: .425rem; padding: .6rem 1rem; }
body .pvtTriangle { color: var(--bs-gray-500); }
body .pvtFilteredAttribute { font-style: normal; color: var(--bs-primary); }
/* Seçim kutuları (görünüm, hesap, değer alanı) */
body .pvtUi select { appearance: auto; background: var(--bs-body-bg); color: var(--bs-gray-700); border: 1px solid var(--bs-gray-300); border-radius: .475rem; padding: .45rem .6rem; font-size: .95rem; font-weight: 500; max-width: 100%; }
body .pvtAggregator { margin-bottom: .4rem; }
body .pvtVals { text-align: start; }
body .pvtRowOrder, body .pvtColOrder { color: var(--bs-gray-500); margin-left: .25rem; }
/* Sonuç tablosu */
body table.pvtTable { font-size: .95rem; border-collapse: collapse; }
body table.pvtTable thead tr th, body table.pvtTable tbody tr th { background-color: var(--bs-gray-100); border: 1px solid var(--bs-gray-200); color: var(--bs-gray-700); font-size: .95rem; font-weight: 600; padding: .55rem .75rem; }
body table.pvtTable tbody tr td { background-color: var(--bs-body-bg); border: 1px solid var(--bs-gray-200); color: var(--bs-gray-800); padding: .55rem .75rem; vertical-align: middle; }
body table.pvtTable .pvtTotal, body table.pvtTable .pvtGrandTotal, body table.pvtTable .pvtTotalLabel { font-weight: 700; color: var(--bs-gray-900); background-color: var(--bs-gray-100); }
body .pvtRowSubtotal, body .pvtColSubtotal { background-color: var(--bs-primary-light) !important; }
/* Süzgeç kutusu */
body .pvtFilterBox { width: 320px; background-color: var(--bs-body-bg); border: 1px solid var(--bs-gray-300); border-radius: .625rem; box-shadow: var(--bs-box-shadow); padding: .75rem; color: var(--bs-gray-700); }
body .pvtFilterBox h4 { margin: .25rem 0 .75rem; font-size: 1.075rem; font-weight: 700; color: var(--bs-gray-900); }
body .pvtFilterBox p { margin: .5rem auto; }
body .pvtFilterBox input[type=text] { width: 100%; background: var(--bs-gray-100); color: var(--bs-gray-700); border: 1px solid transparent; border-radius: .475rem; padding: .45rem .75rem; }
body .pvtFilterBox button { background: var(--bs-gray-100); color: var(--bs-gray-700); border: 0; border-radius: .475rem; padding: .4rem .9rem; font-weight: 600; margin: 0 .15rem; }
body .pvtFilterBox button:hover { background: var(--bs-primary-light); color: var(--bs-primary); }
body .pvtCheckContainer { font-size: .95rem; border-color: var(--bs-gray-200); padding: .25rem 0; }
body .pvtCheckContainer p { margin: .3rem .25rem; }

/* Rapor başlığı sekmeleri: telefonda yatay kayar, kaydırma çubuğu görünmez */
.kt-report-tabs { scrollbar-width: none; }
.kt-report-tabs::-webkit-scrollbar { display: none; }

/* Sol menü: açılır bölüm başlıkları (başlık görünümü korunur, içindeki öğeler girintisiz) */
#kt_app_sidebar_menu .kt-menu-section { margin-top: .75rem; }
#kt_app_sidebar_menu .kt-menu-section > .menu-link, #kt_app_sidebar_menu .kt-menu-home > .menu-link { padding-top: .6rem; padding-bottom: .6rem; }
#kt_app_sidebar_menu .kt-menu-section > .menu-link .menu-heading, #kt_app_sidebar_menu .kt-menu-home > .menu-link .menu-heading { letter-spacing: .03em; }
#kt_app_sidebar_menu .kt-menu-section > .menu-sub { margin-left: 0 !important; padding-left: 0 !important; }
#kt_app_sidebar_menu .kt-menu-section > .menu-sub > .menu-item > .menu-link { padding-left: 1rem; }

/* Sol menü altındaki kullanıcı kutusu: daraltılmış menüde yalnız fotoğraf (üzerine gelince ad ve rol) */
#kt_app_sidebar_footer { overflow: hidden; border-top: 1px dashed #1f212a !important; }
body[data-kt-app-sidebar-minimize="on"]:not([data-kt-app-sidebar-hoverable="true"]) .kt-sidebar-user-text,
body[data-kt-app-sidebar-minimize="on"][data-kt-app-sidebar-hoverable="true"] #kt_app_sidebar:not(:hover) .kt-sidebar-user-text { display: none !important; }
body[data-kt-app-sidebar-minimize="on"]:not([data-kt-app-sidebar-hoverable="true"]) #kt_app_sidebar_footer,
body[data-kt-app-sidebar-minimize="on"][data-kt-app-sidebar-hoverable="true"] #kt_app_sidebar:not(:hover) #kt_app_sidebar_footer { padding-left: 0 !important; padding-right: 0 !important; display: flex; justify-content: center; }

/* Daraltılmış sol menü (üzerine gelinmemişken): yalnız bölüm ikonları görünür; bölümlerin içindeki liste gizlenir */
body[data-kt-app-sidebar-minimize="on"]:not([data-kt-app-sidebar-hoverable="true"]) #kt_app_sidebar_menu .kt-menu-section > .menu-sub,
body[data-kt-app-sidebar-minimize="on"][data-kt-app-sidebar-hoverable="true"] #kt_app_sidebar:not(:hover) #kt_app_sidebar_menu .kt-menu-section > .menu-sub { display: none !important; }
body[data-kt-app-sidebar-minimize="on"]:not([data-kt-app-sidebar-hoverable="true"]) #kt_app_sidebar_menu .kt-menu-section > .menu-link .menu-title,
body[data-kt-app-sidebar-minimize="on"][data-kt-app-sidebar-hoverable="true"] #kt_app_sidebar:not(:hover) #kt_app_sidebar_menu .kt-menu-section > .menu-link .menu-title,
body[data-kt-app-sidebar-minimize="on"]:not([data-kt-app-sidebar-hoverable="true"]) #kt_app_sidebar_menu .kt-menu-section > .menu-link .menu-arrow,
body[data-kt-app-sidebar-minimize="on"][data-kt-app-sidebar-hoverable="true"] #kt_app_sidebar:not(:hover) #kt_app_sidebar_menu .kt-menu-section > .menu-link .menu-arrow { display: none; }
body[data-kt-app-sidebar-minimize="on"]:not([data-kt-app-sidebar-hoverable="true"]) #kt_app_sidebar_menu .kt-menu-section,
body[data-kt-app-sidebar-minimize="on"][data-kt-app-sidebar-hoverable="true"] #kt_app_sidebar:not(:hover) #kt_app_sidebar_menu .kt-menu-section { margin-top: .25rem; }

/* Günlük rut ataması: takvim + sürüklenen mağaza listesi */
#routePlanCalendar .fc-toolbar-title { font-size: 1.35rem; font-weight: 600; }
#routePlanCalendar .fc-daygrid-day-top { align-items: center; }
#routePlanCalendar .fc-event { cursor: pointer; }
#routePlanCalendar .fc-timegrid-slot { height: 2.1rem; }
#routePlanCalendar .route-event { padding: 2px 4px; line-height: 1.25; overflow: hidden; }
#routePlanCalendar .route-event-title { font-size: .85rem; font-weight: 600; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; overflow-wrap: anywhere; }
#routePlanCalendar .route-event-time { font-size: .75rem; opacity: .85; white-space: nowrap; }
#routePlanCalendar .fc-daygrid-event .route-event-title { -webkit-line-clamp: 1; line-clamp: 1; }
.route-store-item { cursor: grab; user-select: none; flex-shrink: 0; }
.route-store-item:active { cursor: grabbing; }
.route-store-item:hover { border-color: var(--bs-primary) !important; }

/* ─── Harita bilgi balonu: koyu temada tema renkleri (içerik tema sınıflarıyla yazıldığı için beyaz balonda okunmuyordu) ─── */
[data-bs-theme="dark"] .gm-style .gm-style-iw-c,
[data-bs-theme="dark"] .gm-style .gm-style-iw-d {
    background-color: var(--bs-card-bg, #23252d) !important;
    color: var(--bs-gray-800);
}

[data-bs-theme="dark"] .gm-style .gm-style-iw-tc::after {
    background: var(--bs-card-bg, #23252d);
}

[data-bs-theme="dark"] .gm-style .gm-style-iw-d::-webkit-scrollbar-track,
[data-bs-theme="dark"] .gm-style .gm-style-iw-d::-webkit-scrollbar-track-piece {
    background: transparent;
}

[data-bs-theme="dark"] .gm-style .gm-ui-hover-effect > span {
    background-color: var(--bs-gray-700) !important;
}

/* Profil resmi açılamadığında kutuda varsayılan görsel (temaya göre) */
.kt-avatar-blank {
    background-image: url('../metronic8/assets/media/svg/avatars/blank.svg');
}

[data-bs-theme="dark"] .kt-avatar-blank {
    background-image: url('../metronic8/assets/media/svg/avatars/blank-dark.svg');
}

/* Takvim (FullCalendar) yapışkan başlık satırı: koyu temada beyaz kalmasın, bulunduğu kartın rengi */
.fc {
    --fc-page-bg-color: var(--bs-card-bg, var(--bs-body-bg));
}

/* Fotoğrafı olmayan kişi / kayıt için varsayılan görsel koyu temada koyu sürümüyle gösterilir (img ve satır içi arka plan) */
[data-bs-theme="dark"] img[src$="avatars/blank.svg"] {
    content: url('../metronic8/assets/media/svg/avatars/blank-dark.svg');
}

[data-bs-theme="dark"] [style*="avatars/blank.svg"] {
    background-image: url('../metronic8/assets/media/svg/avatars/blank-dark.svg') !important;
}

/* Rut döngü panosu (tüm haftalar): hafta adı ilk hücrenin içinde değil, satırın solundaki boşlukta durur */
#routePlanCalendar .fc-boardGrid-view { padding-left: 4.5rem; }
#routePlanCalendar .fc-boardGrid-view .fc-scroller, #routePlanCalendar .fc-boardGrid-view .fc-scroller-harness { overflow: visible !important; }
#routePlanCalendar .fc-boardGrid-view .fc-daygrid-week-number { left: -4.5rem; top: 50%; transform: translateY(-50%); width: 4.25rem; padding: 0; background: none; text-align: left; font-size: .85rem; font-weight: 600; color: var(--bs-gray-600); pointer-events: none; }
#routePlanCalendar .fc-boardGrid-view .fc-daygrid-week-number.text-primary { color: var(--bs-primary); }


/* ─── Ana sayfa (yeni tasarım): ölçüler tasarımdaki oranlara göre; renkler tema değişkenlerinden ─────────────── */
#kt_home { --home-gap: 1rem; display: flex; flex-direction: column; gap: var(--home-gap); }
.home-card { padding: 1.15rem 1.25rem; border: 0; min-width: 0; }
.home-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--home-gap); }
.home-row3, .home-main { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--home-gap); }
.home-col { display: flex; flex-direction: column; gap: var(--home-gap); min-width: 0; }
@media (min-width: 768px) { .home-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1200px) {
    .home-row3:has(> :nth-child(3)) { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.32fr) minmax(0, 1fr); }
    .home-main:has(> :nth-child(2)) { grid-template-columns: minmax(0, 1.66fr) minmax(0, 1fr); }
}
@media (min-width: 1400px) { .home-kpis:has(> :nth-child(7)) { grid-template-columns: repeat(8, minmax(0, 1fr)); } }

/* Ortak yazı ve küçük parçalar */
.home-name { font-size: .95rem; font-weight: 700; color: var(--bs-gray-900); }
.home-strong { font-size: .95rem; font-weight: 700; color: var(--bs-gray-800); }
.home-text { font-size: .9rem; font-weight: 500; color: var(--bs-gray-800); }
.home-sub { font-size: .8rem; font-weight: 500; color: var(--bs-gray-500); line-height: 1.25; }
.home-pill { display: inline-flex; align-items: center; justify-content: center; padding: .25rem .6rem; border-radius: .45rem; font-size: .8rem; font-weight: 700; white-space: nowrap; }
.home-pill-sm { min-width: 2.6rem; padding: .2rem .4rem; }
.home-bar { flex: 1 1 auto; height: 5px; min-width: 40px; border-radius: 5px; background: var(--bs-gray-200); overflow: hidden; }
.home-bar > div { height: 100%; border-radius: 5px; }
.home-bar-lg { height: 6px; flex: 0 0 auto; }
.home-round, .home-sq { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 26px; height: 26px; margin-right: .75rem; }
.home-round { border-radius: 50%; }
.home-round i { font-size: 1.05rem; }
.home-sq { width: 20px; height: 20px; border-radius: 5px; }
.home-sq i { font-size: .9rem; }
.home-sq i::before, .home-sq i [class^="path"]::before { color: #fff !important; opacity: 1 !important; }
.home-more { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border: 0; border-radius: .5rem; background: var(--bs-gray-100); color: var(--bs-gray-600); }
.home-more:hover:not(:disabled) { background: var(--bs-light-primary); color: var(--bs-primary); }
.home-more:disabled { opacity: .45; }
.home-more i { font-size: 1.15rem; }
.home-more .kt-nav-text { display: none; }
/* Tıklanınca detay penceresi açan kart / satır */
[data-home-visits], [data-home-open] { cursor: pointer; }
.home-card[data-home-open] { transition: box-shadow .15s ease; }
.home-card[data-home-open]:hover { box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .1); }
.home-kpi[data-home-open]:hover { transform: translateY(-1px); }
.home-card[data-home-open] table, .home-card[data-home-open] .dt-container, .home-card[data-home-open] input { cursor: auto; }
.home-link { color: var(--bs-primary); }
.home-kpi[data-home-visits] { transition: box-shadow .15s ease, transform .15s ease; }
.home-kpi[data-home-visits]:hover { box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .1); transform: translateY(-1px); }
.home-legend-row[data-home-visits]:hover .home-text, .home-alert-row[data-home-visits]:hover .home-text { color: var(--bs-primary); }
.home-empty { padding: 1.5rem 0; text-align: center; font-weight: 600; color: var(--bs-gray-500); }

/* Kart başlığı */
.home-head { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .75rem; min-height: 30px; }
.home-title { display: flex; align-items: center; margin: 0; font-size: 1.15rem; font-weight: 700; color: var(--bs-gray-900); }
.home-info { margin-left: .45rem; font-size: 1.1rem; color: var(--bs-gray-400); cursor: help; }
.home-live { display: inline-flex; align-items: center; margin-left: .75rem; padding: .2rem .6rem; border-radius: 1rem; background: var(--bs-light-success); color: var(--bs-success); font-size: .8rem; font-weight: 700; }
.home-live > i { width: 6px; height: 6px; margin-right: .4rem; border-radius: 50%; background: var(--bs-success); }
.home-link { font-size: .85rem; font-weight: 700; }

/* Özet kartı: ikon solda; başlık, değer ve fark onun sağında (tasarım) */
.home-kpi { display: flex; flex-direction: column; padding: 1rem 1.1rem .9rem; container-type: inline-size; }
.home-kpi-grid { display: grid; grid-template-columns: 34px minmax(0, 1fr); column-gap: .75rem; align-items: start; }
.home-kpi-icon { grid-row: 1 / span 2; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: .6rem; }
.home-kpi-icon i { font-size: 1.45rem; }
.home-kpi-title { grid-column: 2; font-size: .85rem; font-weight: 700; color: var(--bs-gray-800); line-height: 1.2; }
.home-kpi-value { grid-column: 2; margin-top: .3rem; font-size: 1.6rem; font-weight: 700; color: var(--bs-gray-900); line-height: 1.1; white-space: nowrap; }
.home-kpi-sub { grid-column: 2; margin-top: .2rem; }
.home-kpi-delta { grid-column: 2; margin-top: .3rem; font-size: .8rem; font-weight: 500; color: var(--bs-gray-500); white-space: nowrap; }
.home-kpi-delta-left { grid-column: 1 / -1; }
.home-kpi-foot { display: flex; flex-direction: column; justify-content: flex-end; min-height: 30px; margin-top: auto; padding-top: .35rem; }
/* Dar kart (geniş menü açıkken): dizilim aynı kalır (değer başlığın altında, ikonun sağında); ölçüler küçülür, fark satırında yalnız yüzde kalır */
@container (max-width: 172px) {
    .home-kpi-grid { grid-template-columns: 30px minmax(0, 1fr); column-gap: .55rem; }
    .home-kpi-icon { width: 30px; height: 30px; }
    .home-kpi-icon i { font-size: 1.25rem; }
    .home-kpi-value { font-size: 1.25rem; overflow: visible; }
    .home-kpi-delta > span + span { display: none; }
}

/* Grafikler */
.home-chart-lg { min-height: 175px; }
.home-chart-legend { display: flex; gap: 1rem; min-height: 25px; overflow-x: auto; white-space: nowrap; scrollbar-width: thin; padding-bottom: .25rem; }
.home-chart-legend-item { display: inline-block; flex-shrink: 0; max-width: 170px; overflow: hidden; text-overflow: ellipsis; font-size: .8rem; font-weight: 500; color: var(--bs-gray-600); }
.home-chart-legend-item > i { display: inline-block; width: 9px; height: 9px; margin-right: .4rem; border-radius: 2px; }
#homeCollectionChart { min-height: 150px; }
.home-chart-sm { min-height: 120px; flex: 1 1 auto; min-width: 0; }
.home-status { display: flex; align-items: center; gap: 1rem; min-height: 175px; }
.home-donut { flex-shrink: 0; width: 150px; height: 150px; }
.home-legend { flex: 1 1 auto; min-width: 0; }
.home-legend-row { display: flex; align-items: center; gap: .6rem; padding: .45rem 0; }
.home-legend-box { flex-shrink: 0; width: 10px; height: 10px; border-radius: 3px; }
@media (min-width: 1200px) and (max-width: 1699.98px) {
    .home-donut { width: 120px; height: 120px; }
}

/* Anlık takip tablosu */
.home-tools { display: flex; align-items: center; gap: .6rem; }
.home-search { width: 165px; }
.home-search i { font-size: 1.1rem; color: var(--bs-gray-500); }
.home-select { width: 175px; }
.home-select .home-round, .select2-results .home-round { width: 22px; height: 22px; margin-right: .5rem; }
.home-select .home-round i, .select2-results .home-round i { font-size: .95rem; }
.home-scroll { overflow: auto; }
#homeTeamTable { min-width: 540px; }
/* Arama sonucu az / boş olsa da tablo alanı 10 satırlık yüksekliğini korur (telefonda kart görünümünde uygulanmaz) */
@media (min-width: 768px) { .home-team-min { min-height: 700px; align-content: flex-start; } }
.home-team-person { width: 26%; }
.home-team-status { width: 15%; }
#homeTeamTable td [data-ago] { white-space: nowrap; }
.home-team-today { width: 15%; }
.home-team-rate { width: 9%; }
.home-team-nav { width: 58px; }

/* Sağ sütun */
.home-map { width: 100%; height: 200px; border-radius: .6rem; }
.home-feed-card { flex: 1 1 auto; display: flex; flex-direction: column; min-height: 280px; }
.home-feed { position: relative; flex: 1 1 0; min-height: 0; }
.home-feed > .home-scroll { position: absolute; inset: 0; padding-right: .25rem; }
.home-feed-item { display: flex; align-items: center; gap: .75rem; padding: .32rem 0; }
.home-feed-time { flex-shrink: 0; width: 36px; font-size: .85rem; font-weight: 500; color: var(--bs-gray-600); }
.home-feed-mark { position: relative; display: inline-flex; flex-shrink: 0; }
.home-feed-mark .home-sq { margin-right: 0; position: relative; }
.home-feed-item + .home-feed-item .home-feed-mark::before { content: ""; position: absolute; left: 50%; bottom: 100%; height: .7rem; border-left: 1px solid var(--bs-gray-300); }
.home-feed-text { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-initials { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 26px; height: 20px; border-radius: 6px; font-size: .7rem; font-weight: 700; }
.home-alert-row { display: flex; align-items: center; gap: .75rem; padding: .32rem 0; }
.home-alert-row > i { font-size: 1.25rem; flex-shrink: 0; }

/* Ölçüm özeti kutuları ve puan trendi */
.home-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(108px, 1fr)); gap: .75rem; }
.home-tile { display: flex; flex-direction: column; min-width: 0; padding: .8rem .9rem; border-radius: .75rem; }
.home-tile-value { font-size: 1.35rem; font-weight: 700; line-height: 1.1; margin-bottom: .2rem; }
.home-tile-foot { display: flex; align-items: flex-end; justify-content: space-between; gap: .5rem; margin-top: .9rem; }
.home-mini { display: inline-flex; align-items: flex-end; gap: 3px; height: 22px; }
.home-mini > i { width: 5px; border-radius: 2px; opacity: .85; }
.home-quality { display: flex; align-items: stretch; gap: .9rem; flex: 1 1 auto; }
.home-main > .home-card { display: flex; flex-direction: column; }
.home-main > .home-card > .home-tiles { flex: 1 1 auto; align-content: center; }
.home-quality-tile { flex-shrink: 0; width: 118px; display: flex; flex-direction: column; justify-content: center; padding: .8rem .9rem; border-radius: .75rem; background: var(--bs-gray-100); }
.home-quality-value { margin-top: .35rem; font-size: 1.7rem; font-weight: 700; color: var(--bs-gray-900); line-height: 1.1; }
.home-quality-tile .home-kpi-delta { white-space: normal; }

@media (max-width: 767.98px) {
    .home-head { flex-wrap: wrap; }
    .home-tools { width: 100%; }
    .home-search { flex: 1 1 auto; width: auto; }
    #homeTeamTable { min-width: 0; }
    .home-status, .home-quality { flex-direction: column; align-items: stretch; }
    .home-donut { align-self: center; }
    .home-quality-tile { width: auto; }
}

/* Ana sayfa > Ziyaret listesi penceresi: üstte tıklanabilir özet kutuları, altında küçük ek süzgeçler */
.home-visit-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(125px, 1fr)); gap: .6rem; }
.home-visit-tile.bg-light-dark.active { border-color: var(--bs-gray-700); }
.home-visit-tile { display: flex; align-items: center; gap: .6rem; min-width: 0; padding: .7rem .75rem; border: 2px solid transparent; border-radius: .75rem; transition: border-color .15s ease, transform .15s ease; }
.home-visit-tile:hover { transform: translateY(-1px); }
.home-visit-tile.active { border-color: currentColor; }
.home-visit-tile.bg-light-primary.active { border-color: var(--bs-primary); }
.home-visit-tile.bg-light-success.active { border-color: var(--bs-success); }
.home-visit-tile.bg-light-info.active { border-color: var(--bs-info); }
.home-visit-tile.bg-light-warning.active { border-color: var(--bs-warning); }
.home-visit-tile.bg-light-danger.active { border-color: var(--bs-danger); }
.home-visit-tile-value { display: block; font-size: 1.5rem; font-weight: 700; line-height: 1.1; }
.home-visit-chip { display: inline-flex; align-items: center; gap: .5rem; padding: .35rem .75rem; border: 1px solid var(--bs-gray-300); border-radius: 2rem; background: transparent; font-size: .85rem; font-weight: 600; color: var(--bs-gray-700); }
.home-visit-chip > span { font-weight: 700; color: var(--bs-gray-900); }
.home-visit-chip:hover { border-color: var(--bs-primary); color: var(--bs-primary); }
.home-visit-chip.active { border-color: var(--bs-primary); background: var(--bs-primary); color: #fff; }
.home-visit-chip.active > span { color: #fff; }
@media (max-width: 767.98px) { .home-visit-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Ana sayfa > Anlık takip penceresi: solda büyük harita, sağda personel tablosu ve detaylı zaman tüneli */
.home-live-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 1rem; height: 100%; min-height: 0; }
.home-live-map { width: 100%; height: 100%; min-height: 420px; border-radius: .75rem; }
.home-live-side { display: grid; grid-template-rows: minmax(0, 1.15fr) minmax(0, 1fr); gap: 1rem; min-height: 0; }
.home-live-panel { display: flex; flex-direction: column; min-height: 0; padding: 1rem 1.25rem; border: 1px solid var(--bs-gray-200); border-radius: .75rem; }
.home-live-panel > .home-scroll { flex: 1 1 0; min-height: 0; }
#homeLiveTable tbody tr.table-active > td { background: var(--bs-light-primary); box-shadow: none; }
.home-feed-item-lg { padding: .55rem 0; border-bottom: 1px dashed var(--bs-gray-200); }
.home-feed-item-lg:hover .home-name { color: var(--bs-primary); }
.home-feed-item-lg + .home-feed-item-lg .home-feed-mark::before { height: 1.35rem; }
@media (max-width: 991.98px) {
    .home-live-grid { grid-template-columns: minmax(0, 1fr); height: auto; }
    .home-live-map { height: 340px; min-height: 0; }
    .home-live-side { grid-template-rows: none; }
    .home-live-panel > .home-scroll { flex: none; max-height: 60vh; }
}
/* Ölçüm detayı penceresi */
.home-measure-card { height: 100%; padding: 1.1rem 1.25rem .5rem; border: 1px solid var(--bs-gray-200); border-radius: .75rem; }

/* Detay pencerelerinde tablo alanı veri az / boş olsa da 10 satırlık yüksekliğini korur (telefonda kart görünümünde uygulanmaz) */
@media (min-width: 768px) { .home-modal-min { min-height: 590px; align-content: flex-start; } }
@media (min-width: 768px) { .home-alert-body { min-height: 560px; } }
/* 5 satırlık pencere tabloları: arama sonucu azalsa da alan küçülmez */
@media (min-width: 768px) { .home-live-min { min-height: 316px; align-content: flex-start; } .home-alert-min { min-height: 338px; align-content: flex-start; } }
.home-live-panel > .home-head { flex-wrap: wrap; }
@media (max-width: 991.98px) { #homeLiveTable { min-width: 0; } .home-live-panel { padding: .9rem; } }

/* Ana sayfa detay pencereleri: her pencerenin boyu SABİT (sekme / süzgeç değişince pencere zıplamaz), içerik sığmazsa pencerenin içinde kayar.
   Boy ekranın tamamı değil, içeriğe göre üst sınır: ziyaret / süre / anlık takip 940 px, ölçüm detayı 780 px; küçük ekranda ekran yüksekliğine iner */
@media (min-width: 768px) {
    /* modal-dialog-centered en az ekran boyu verir (min-height): sınır için sıfırlanır, ortalama korunur */
    .home-modal.modal-dialog { max-width: min(1400px, calc(100vw - 3rem)); height: min(940px, calc(100vh - 3.5rem)); min-height: 0; margin-top: max(1.75rem, calc(50vh - 470px)); margin-bottom: 1.75rem; }
    #homeMeasureModal .home-modal.modal-dialog { height: min(780px, calc(100vh - 3.5rem)); margin-top: max(1.75rem, calc(50vh - 390px)); }
    .home-modal > .modal-content { height: 100%; max-height: none; }
}
#homeLiveTable th:first-child { width: 32%; }
/* Süre dökümü: sütunlar pencereye orantılı yayılır (boşluk tek sütunda toplanmaz) */
#homeDurationTable th { width: 12%; }
#homeDurationTable th:nth-child(2) { width: 24%; }
#homeDurationTable th:nth-child(3), #homeDurationTable th:nth-child(8) { width: 9%; }
#homeDurationTable th:nth-child(4) { width: 14%; }
@media (min-width: 992px) { #homeLiveTable { min-width: 560px; } }
.home-live-map { overflow: hidden; }
#homeLiveBody { overflow-x: hidden; }
.home-live-status { width: 115px; }
.home-visit-tiles { grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); }
.home-live-side { grid-template-columns: minmax(0, 1fr); min-width: 0; }
.home-live-panel { min-width: 0; }
.home-live-panel .home-search { flex: 0 1 165px; min-width: 0; }

/* Anlık takip penceresi yerleşimi: solda harita + altında personel tablosu, sağda boydan boya zaman tüneli */
@media (min-width: 992px) { .home-live-grid { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); } }
.home-live-left { display: grid; grid-template-rows: minmax(220px, 1fr) auto; gap: 1rem; min-width: 0; min-height: 0; }
.home-live-left > .home-live-map { min-height: 220px; height: auto; }
.home-live-people > .home-scroll { flex: none; overflow-x: auto; overflow-y: visible; }
/* Telefonda anlık takip penceresi: yalnız harita ve zaman tüneli (personel tablosu gizli) */
@media (max-width: 767.98px) { .home-live-people { display: none; } }
@media (max-width: 991.98px) { .home-live-left { grid-template-rows: none; } .home-live-left > .home-live-map { height: 340px; } }
.home-chart-xl { min-height: 440px; }

/* Telefonda ana sayfa pencereleri: üstte ve altta boşluk kalır, köşeler yuvarlak, içerik pencerenin içinde kayar */
@media (max-width: 767.98px) {
    .home-modal.modal-dialog { height: calc(100% - 2.5rem); min-height: 0; }
    .home-modal > .modal-content { height: 100%; border-radius: .75rem; }
    #homeLiveBody { padding-bottom: 1.25rem; }
}

/* Telefonda tablo alt satırı: sayfa boyu solda, sayfalama sağda tek satırda kalır (düğmeler küçülür, alt satıra kaymaz) */
@media (max-width: 767.98px) {
    div.dt-container > .row:not(.dt-layout-table):last-child { flex-wrap: nowrap; justify-content: space-between; gap: .5rem; margin-left: 0; margin-right: 0; }
    div.dt-container > .row:not(.dt-layout-table):last-child > div { flex: 0 1 auto; width: auto; max-width: none; min-width: 0; margin-left: 0 !important; padding-left: 0; padding-right: 0; }
    div.dt-container > .row:not(.dt-layout-table):last-child > .dt-layout-end { justify-content: flex-end; }
    div.dt-container .dt-layout-start select.form-select { min-width: 64px; height: 32px; padding: 0 1.75rem 0 .75rem !important; }
    div.dt-container .dt-paging .page-link { height: 32px; min-width: 28px; padding: 0 .35rem; margin: 0 1px; }
}

/* İlk yükleme: satırları sonradan gelen tablo hazır olana kadar kartı son yüksekliğinde durur, ham tablo (yalnız başlık satırı)
   görünmez; tablo hazır olunca doğrudan içine basılır. Sayfa yerleşince (kt-table.js settleTables) kural devreden çıkar. */
body:not(.kt-settled) .card-body > table[id]:not(.dataTable) { visibility: hidden; }
body:not(.kt-settled) .card-body:has(> table[id]:not(.dataTable)) { min-height: 375px; }
@media (min-width: 992px) { body:not(.kt-settled) .card-body:has(> table[id]:not(.dataTable)) { min-height: 575px; } }

/* Tıklanabilir rapor özet kartı */
.home-kpi[role="button"] { transition: box-shadow .15s ease, transform .15s ease; }
.home-kpi[role="button"]:hover { box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .1); transform: translateY(-1px); }

/* ===== Rapor ve Resim Kontrol panoları: Ana Sayfa ile aynı ölçü (küçük başlık, dar boşluk, sıkı kart) =====
   Kapsam: rapor sonuç kapları (#..Result), Sayım (#kt_census) ve Resim Kontrol (#kt_image_check_control). */
:is(#kt_app_content [id$="Result"], #kt_census, #kt_image_check_control) { --kt-dash-gap: 1rem; }
:is(#kt_app_content [id$="Result"], #kt_census, #kt_image_check_control) .row { --bs-gutter-x: var(--kt-dash-gap); --bs-gutter-y: var(--kt-dash-gap); }
:is(#kt_app_content [id$="Result"], #kt_census, #kt_image_check_control) :is(.mb-5, .mb-xl-8, .mb-7) { margin-bottom: var(--kt-dash-gap) !important; }
:is(#kt_app_content [id$="Result"], #kt_census, #kt_image_check_control) .card > .card-header { min-height: 0; padding: 1.1rem 1.25rem 0 !important; }
:is(#kt_app_content [id$="Result"], #kt_census, #kt_image_check_control) .card > .card-header .card-title { margin: 0 0 .35rem; }
:is(#kt_app_content [id$="Result"], #kt_census, #kt_image_check_control) .card > .card-body { padding: .75rem 1.25rem 1.15rem; }
:is(#kt_app_content [id$="Result"], #kt_census, #kt_image_check_control) .card-label { font-size: 1.15rem !important; font-weight: 700 !important; }
:is(#kt_app_content [id$="Result"], #kt_census, #kt_image_check_control) .card-title > span:not(.card-label),
:is(#kt_app_content [id$="Result"], #kt_census, #kt_image_check_control) .card-label > span { font-size: .8rem !important; font-weight: 500 !important; margin-top: .15rem !important; }
/* Sekmeli rapor üst kartı (KTHelpers.reportHead) */
:is(#kt_app_content [id$="Result"], #kt_census) .card > .card-body.pb-0 { padding-top: 1.1rem; padding-bottom: 0; }
:is(#kt_app_content [id$="Result"], #kt_census) .card > .card-body.pb-0 h3 { font-size: 1.25rem !important; }
:is(#kt_app_content [id$="Result"], #kt_census) .kt-report-tabs { height: 44px !important; margin-top: .5rem !important; }
:is(#kt_app_content [id$="Result"], #kt_census) .kt-report-tabs .nav-link { font-size: .95rem; padding-top: .75rem !important; padding-bottom: .75rem !important; }

/* Tablolar: bütün listelerde aynı satır yüksekliği (Ana Sayfa tablosuyla aynı; önceki gy-5 daha yüksekti) */
table.dataTable.gy-5 > :not(caption) > * > * { padding-top: 1rem; padding-bottom: 1rem; }

/* ===== Yazı ölçüsü standardı (bütün sayfalar) =====
   Kart başlığı her yerde aynı: 1.15rem / 700 (Ana Sayfa ve rapor panolarıyla aynı). Önce sayfaya göre 15–19.5 px ve 500–700 kalınlık arasında değişiyordu. */
#kt_app_content .card-header :is(h2, h3, h4).card-title,
#kt_app_content .card-header .card-title :is(h2, h3, h4),
#kt_app_content .card-label { font-size: 1.15rem !important; font-weight: 700 !important; }

/* ===== Form penceresi (pilot: Görev Ekle) — ikonlu başlık, bölüm panelleri, çerçeveli alanlar =====
   Kullanım: .modal-dialog.kt-form-modal; paneller .kt-fm-panel (+ -side), bölüm başlığı .kt-fm-sec, durum kutusu .kt-fm-status */
.kt-form-modal { --kt-fm-border: var(--bs-gray-300); }
@media (min-width: 1200px) { .kt-form-modal { max-width: 1180px; } }
.kt-form-modal .modal-header { padding: 1.4rem 1.75rem 1.1rem; border-bottom: 0; }
.kt-form-modal .modal-header h2 { font-size: 1.5rem; }
/* Adımlı form penceresi (kt-form-steps.js): tek sütun, başlığın altında adım göstergesi (1 ── 2); geçilen adım onay rengi alır */
@media (min-width: 992px) { .kt-form-modal.kt-form-steps { max-width: 880px; } }
.kt-steps-nav { display: flex; align-items: center; gap: .75rem; padding: 0 1.75rem 1rem; }
.kt-step-pill { display: inline-flex; align-items: center; gap: .6rem; padding: .45rem .9rem .45rem .45rem; border: 1px solid var(--bs-gray-200); border-radius: 2rem;
    background: var(--bs-body-bg); color: var(--bs-gray-600); font-weight: 600; font-size: 1rem; cursor: pointer; }
.kt-step-no { display: inline-flex; align-items: center; justify-content: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: var(--bs-gray-200); color: var(--bs-gray-700); font-size: .95rem; }
.kt-step-pill.active { border-color: var(--bs-primary); color: var(--bs-gray-900); }
.kt-step-pill.active .kt-step-no { background: var(--bs-primary); color: var(--bs-white); }
.kt-step-pill.done .kt-step-no { background: var(--bs-success-light); color: var(--bs-success); }
.kt-step-line { flex: 1 1 auto; height: 2px; background: var(--bs-gray-200); border-radius: 1px; }
.kt-form-modal .modal-body { padding: 0 1.75rem 1.4rem; }
.kt-form-modal .modal-footer { padding: 1rem 1.75rem; justify-content: flex-end; }
.kt-fm-icon { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 40px; height: 40px; border-radius: .75rem; }
.kt-fm-icon i { font-size: 1.6rem; }
.kt-fm-icon-lg { width: 50px; height: 50px; border-radius: .9rem; }
.kt-fm-icon-lg i { font-size: 2rem; }
.kt-fm-panel { padding: 1.25rem 1.4rem 1.4rem; border: 1px solid var(--bs-gray-200); border-radius: .9rem; background: var(--bs-body-bg); min-width: 0; }
.kt-fm-panel-side { background: var(--bs-gray-100); }
.kt-fm-sec { display: flex; align-items: center; gap: .85rem; margin-bottom: 1.25rem; }
.kt-fm-sec-title { font-size: 1.15rem; font-weight: 700; color: var(--bs-gray-900); line-height: 1.25; }
.kt-fm-sec-sub { font-size: .9rem; font-weight: 500; color: var(--bs-gray-600); line-height: 1.3; }
.kt-fm-divider { margin: 1.4rem 0 1.25rem; border-top: 1px solid var(--bs-gray-200); }
.kt-fm-status { padding: 1rem 1.1rem; border: 1px solid var(--bs-success-light, var(--bs-gray-200)); border-radius: .75rem; background: var(--bs-success-light, var(--bs-light-success)); }
.kt-fm-date { position: relative; }
.kt-fm-date > i { position: absolute; top: 50%; left: 1rem; transform: translateY(-50%); font-size: 1.4rem; color: var(--bs-gray-500); pointer-events: none; }
.kt-fm-date > input { padding-left: 3rem; }
/* Alanlar: gri dolgu yerine beyaz zemin + ince çerçeve (sınıflar aynı kalır, doğrulama ve select2 etkilenmez) */
.kt-form-modal :is(.form-control.form-control-solid, .form-select.form-select-solid, .select2-container--bootstrap5 .select2-selection.form-select-solid) {
    background-color: var(--bs-body-bg); border: 1px solid var(--kt-fm-border); }
.kt-form-modal :is(.form-control.form-control-solid:focus, .select2-container--bootstrap5.select2-container--focus .select2-selection.form-select-solid, .select2-container--bootstrap5.select2-container--open .select2-selection.form-select-solid) {
    background-color: var(--bs-body-bg); border-color: var(--bs-primary); }
.kt-form-modal textarea.form-control { min-height: 110px; }

/* Form içeren bütün pencereler (henüz yeni kalıba taşınmamış olanlar dahil): alanlar beyaz zemin + ince çerçeve, düğmeler sağda */
.modal-content:has(form) :is(.form-control.form-control-solid, .form-select.form-select-solid, .select2-container--bootstrap5 .select2-selection.form-select-solid) {
    background-color: var(--bs-body-bg); border: 1px solid var(--bs-gray-300); }
.modal-content:has(form) :is(.form-control.form-control-solid:focus, .select2-container--bootstrap5.select2-container--focus .select2-selection.form-select-solid, .select2-container--bootstrap5.select2-container--open .select2-selection.form-select-solid) {
    background-color: var(--bs-body-bg); border-color: var(--bs-primary); }
.modal-content:has(form) .modal-footer { justify-content: flex-end !important; }

/* Ana sayfa ölçüm özeti: kutular tek satırda, taşarsa oklarla sayfa sayfa kaydırılır (kaydırma çubuğu gizli) */
.home-pager { position: relative; display: flex; align-items: center; flex: 1 1 auto; min-width: 0; }
.home-tiles.home-tiles-row { display: flex; flex: 1 1 auto; min-width: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.home-tiles.home-tiles-row::-webkit-scrollbar { display: none; }
/* Bir sayfada en çok 6 kutu: 6 ve altı satırı tam doldurur, fazlası oklarla kaydırılır */
.home-tiles.home-tiles-row > .home-tile { flex: 1 0 calc((100% - 5 * .75rem) / 6); min-width: 104px; scroll-snap-align: start; }
/* Ölçüm özeti kutuları daha yüksek: değer üstte, hedef ve mini çubuklar altta; çubuklar da uzar */
.home-tiles.home-tiles-row > .home-tile { min-height: 150px; }
.home-tiles.home-tiles-row > .home-tile > .home-tile-foot { margin-top: auto; padding-top: .9rem; }
.home-tiles.home-tiles-row .home-mini { height: 44px; }
.home-tiles.home-tiles-row > .home-empty { flex: 1 1 auto; }
.home-pager-btn { position: absolute; top: 50%; z-index: 2; transform: translateY(-50%); display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; padding: 0;
    border: 1px solid var(--bs-gray-300); border-radius: 50%; background: var(--bs-body-bg); color: var(--bs-gray-700); box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .12); }
.home-pager-btn:hover { color: var(--bs-primary); border-color: var(--bs-primary); }
.home-pager-btn[data-home-pager="-1"] { left: -12px; }
.home-pager-btn[data-home-pager="1"] { right: -12px; }

/* Sekmeli form pencereleri (Rol, Anket): sekme değişince pencere yüksekliği oynamaz; bütün sekmeler üst üste dizilir, en uzunu yüksekliği belirler */
.kt-form-modal .tab-content { display: grid; }
.kt-form-modal .tab-content > .tab-pane { grid-area: 1 / 1; display: block; visibility: hidden; min-width: 0; }
.kt-form-modal .tab-content > .tab-pane.active { visibility: visible; }

/* Sayfa formu (pencere değil; örn. Saha Sorumlusu ekle / düzenle): bölümler panel içinde, alanlar beyaz zemin + ince çerçeve */
.kt-form-page :is(.form-control.form-control-solid, .form-select.form-select-solid, .select2-container--bootstrap5 .select2-selection.form-select-solid) {
    background-color: var(--bs-body-bg); border: 1px solid var(--bs-gray-300); }
.kt-form-page :is(.form-control.form-control-solid:focus, .select2-container--bootstrap5.select2-container--focus .select2-selection.form-select-solid, .select2-container--bootstrap5.select2-container--open .select2-selection.form-select-solid) {
    background-color: var(--bs-body-bg); border-color: var(--bs-primary); }

/* Durum kutusu bir alan satırının içindeyse (yanında başka alan / anahtar kutusu var): yeşil büyük kutu yerine komşularıyla aynı ölçüde düz anahtar kutusu olur, hiza bozulmaz */
.row > [class*="col"] > .kt-fm-status { margin-top: 0 !important; padding: .775rem 1rem; border: 1px solid var(--bs-gray-300); border-radius: .475rem; background: var(--bs-body-bg); }
.row > [class*="col"] > .kt-fm-status > .d-flex.align-items-center { display: none !important; }

/* Küçük kart içindeki harita: Harita / Uydu düğmeleri ve tam ekran düğmesi haritanın boyutuna göre küçük */
.kt-map-compact .gm-style-mtc button { height: 28px !important; padding: 0 10px !important; font-size: 12px !important; }
.kt-map-compact .gm-style-mtc ul { font-size: 12px !important; }
.kt-map-compact .gm-fullscreen-control { width: 28px !important; height: 28px !important; }
.kt-map-compact .gm-fullscreen-control img { width: 14px !important; height: 14px !important; }
.kt-map-compact .gm-bundled-control .gmnoprint > div { transform: scale(.8); transform-origin: bottom right; }

/* Tarih aralığı kutusu: takvim ikonu tıklamayı engellemez, ikona basınca da takvim açılır (tıklama alttaki kutuya geçer) */
.kt-date-icon > i { pointer-events: none; }
.kt-date-icon > input { cursor: pointer; }

/* Müşteri / mağaza detayı: kartlar arası boşluk Ana Sayfa ve rapor panolarıyla aynı (1rem); önce 1.25 - 2.5rem arasında değişiyordu */
#kt_firm_detail { --kt-dash-gap: 1rem; }
#kt_firm_detail :is(.mb-5, .mb-xl-8, .mb-xl-10).card { margin-bottom: var(--kt-dash-gap) !important; }
#kt_firm_detail .fd-overview { gap: var(--kt-dash-gap); }
#kt_firm_detail #fdCharts.row { --bs-gutter-x: var(--kt-dash-gap); --bs-gutter-y: var(--kt-dash-gap); }

/* Saha personeli detayı: kartlar arası boşluk müşteri / mağaza detayıyla aynı (1rem); şablonun g-xl-10 / mb-xl-10 değeri 2.5rem bırakıyordu */
#kt_merch_detail { --kt-dash-gap: 1rem; }
#kt_merch_detail :is(.mb-5, .mb-xl-8, .mb-xl-10):is(.card, .row) { margin-bottom: var(--kt-dash-gap) !important; }
#kt_merch_detail .row:is(.g-5, .g-xl-10) { --bs-gutter-x: var(--kt-dash-gap); --bs-gutter-y: var(--kt-dash-gap); }

/* Detay sayfaları üst kartı: görselin üstü başlıkla, altı sayaç kutularının (Planlanan ...) altıyla hizalı; şablonun 125px'i kutulardan kısa kalıyordu */
@media (min-width: 992px) {
    #kt_firm_detail .symbol > #fdLogo { width: 154px; height: 154px; }
    #kt_merch_detail .symbol > #mdAvatar { width: 154px; height: 154px; }
}
/* Sağdaki oran çubuğu (form tamamlama) da aynı alt çizgide biter: kutuların altıyla hizalı */
@media (min-width: 576px) {
    :is(#kt_firm_detail, #kt_merch_detail) .flex-stack > .w-sm-300px { align-self: flex-end; margin-top: 0 !important; }
    :is(#kt_firm_detail, #kt_merch_detail) .flex-stack > .w-sm-300px > .h-5px:last-child { margin-bottom: 0 !important; }
}
/* Genel Bakış: sağ sütunun son kartı, soldaki Ziyaretler kartının altına kadar uzar (iki sütun aynı çizgide biter) */
@media (min-width: 1200px) {
    #kt_firm_detail .fd-overview > :last-child { display: flex; flex-direction: column; }
    #kt_firm_detail .fd-overview > :last-child > .card:last-child { flex: 1 1 auto; }
}
/* Personel detayı: iki oran çubuğu (performans skoru, form tamamlama) sayaç kutularıyla aynı üst ve alt çizgide */
@media (min-width: 576px) {
    #kt_merch_detail .flex-stack > .w-sm-300px { align-self: stretch; justify-content: space-between; }
    #kt_merch_detail .flex-stack > .w-sm-300px > .d-flex { margin-top: 0 !important; margin-bottom: .3rem !important; }
    #kt_merch_detail .flex-stack > .w-sm-300px > .h-5px:not(:last-child) { margin-bottom: 0 !important; }
}

/* Resim Onaylama: sağ sütunun son kartı soldaki görsel kartının altına kadar uzar (iki sütun aynı çizgide biter); kart araları diğer panolarla aynı 1rem */
@media (min-width: 1200px) {
    .image-check-review-review { align-items: stretch; gap: 1rem; grid-template-rows: auto auto auto 1fr; }
    .image-check-review-review:has(> .image-check-review-r-history.d-none) { grid-template-rows: auto auto 1fr; }
    .image-check-review-review > .image-check-review-r-image { grid-row: 1 / -1; }
}
/* Resim Kontrol tablosu: geniş yer en uzun metne (Soru) gider; diğer sütunlar içeriği kadar, böylece tablo karta sığar ve satırlar gereksiz uzamaz.
   Sıra görünen sütunlara göredir (Müşteri, İl, Cevap gizli): personel, mağaza, tarih, soru, fotoğraf, durum, red nedeni, işlemler */
@media (min-width: 992px) {
    table.table#answersTable > thead > tr > th:nth-child(1) { width: 15%; }
    table.table#answersTable > thead > tr > th:nth-child(2) { width: 17%; }
    table.table#answersTable > thead > tr > th:nth-child(3) { width: 132px !important; }
    table.table#answersTable > thead > tr > th:nth-child(5) { width: 96px !important; }
    table.table#answersTable > thead > tr > th:nth-child(6) { width: 76px !important; }
    table.table#answersTable > thead > tr > th:nth-child(7) { width: 112px !important; }
}
/* Sağ sütun daha uzunsa görsel alanı da kartla birlikte uzar: kartın altında boş beyaz alan kalmaz */
@media (min-width: 1200px) {
    .image-check-review-r-image > .card-body { display: flex; flex-direction: column; }
    .image-check-review-r-image > .card-body > .image-check-review-stage { flex: 1 1 auto; height: auto; min-height: 60vh; }
}
/* Personel detayı: beş hedef halkası geniş ekranda tek satır */
@media (min-width: 1200px) { #kt_merch_detail .row > .col-md-6.col-xl { flex: 0 0 20%; width: 20%; max-width: 20%; } }

/* Ana Sayfa > Ziyaret Listesi penceresi: sekiz durum kutusu tek satırda sıkışıyordu, geniş ekranda dörderli iki satır */
@media (min-width: 768px) { #homeVisitTiles { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Toplama trendi açıklaması: kaydırma çubuğu yok, taşan ölçüm adları küçük oklarla gezilir (Ölçüm Özeti'ndeki sayfalama gibi) */
.home-pager-sm { flex: 0 0 auto; }
.home-pager-sm > .home-chart-legend { flex: 1 1 auto; min-width: 0; scrollbar-width: none; padding-bottom: 0; align-items: center; }
.home-pager-sm > .home-chart-legend::-webkit-scrollbar { display: none; }
.home-pager-sm > .home-pager-btn { width: 24px; height: 24px; }
.home-pager-sm > .home-pager-btn[data-home-pager="-1"] { left: -10px; }
.home-pager-sm > .home-pager-btn[data-home-pager="1"] { right: -10px; }

/* Boş tablo: metin tablo alanının ortasında, ikonla (kt-table.js decorateEmpty) */
td.dt-empty { vertical-align: middle !important; text-align: center !important; }
.kt-empty { display: flex; flex-direction: column; align-items: center; gap: .9rem; padding: 1.5rem 0; }
.kt-empty-icon { display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; border-radius: 50%; background-color: var(--bs-gray-100); }
.kt-empty-icon > i { font-size: 34px !important; color: var(--bs-gray-400); }
.kt-empty-text { font-size: 1.05rem; font-weight: 600; color: var(--bs-gray-600); }
/* Personel detayı Saha Özeti: dört kutu 2 x 2 dizilir (altındaki harita kalan boyu alır) */
#kt_merch_detail .fd-sums { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
#kt_merch_detail .fd-sum { padding: 1rem .75rem; }
/* Personel detayı Ölçüm Puanları: ad sütunu kalan yeri alır (genel "ana sütun %28" kuralı burada uygulanmaz), puan çubuğu sabit genişlikte */
table.table#mdKpiTable > thead > tr > th[data-mobile="title"] { width: auto; }
#mdKpiTable td.md-score-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; word-break: normal !important; overflow-wrap: normal !important; }

/* Müşteri detayı Genel Bakış üst satırı: geniş harita ve yanında başlıksız, dört ayrı karttan oluşan 2 x 2 saha özeti */
#kt_firm_detail .fd-overview-top { margin-bottom: var(--kt-dash-gap); }
.fd-map-wide { min-height: 380px; }
.fd-sum-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: var(--kt-dash-gap, 1rem); height: 100%; }
.fd-sum.fd-sum-card { justify-content: center; gap: .75rem; padding: 1.25rem 1rem; background-color: var(--bs-card-bg, var(--bs-body-bg)); }
.fd-sum-card .fd-kpi-icon { width: 48px; height: 48px; }
.fd-sum-card .fd-kpi-icon > i { font-size: 26px !important; }
.fd-sum-card .fd-sum-value { font-size: 1.9rem; }
.fd-sum-card .fd-kpi-label { font-size: 1rem; }
/* Üst satırda sağ sütun (özet kartları) alt satırdaki tablodan bağımsızdır: biraz daha geniş */
@media (min-width: 1200px) { #kt_firm_detail .fd-overview.fd-overview-top { grid-template-columns: minmax(0, 1fr) 440px; } }

/* Rapor genel bakislari (rut uyum, olcum): oran cubugu satirlari (.rc-bar: ad, cubuk, oran) ve personel trend cubuklari (.rc-spark) */
.rc-bars { display: flex; flex-direction: column; gap: .15rem; }
.rc-bar { display: grid; grid-template-columns: minmax(0, var(--rc-bar-name, 15rem)) minmax(0, 1fr) var(--rc-bar-value, 3rem); align-items: center; column-gap: 1rem; padding: .5rem .6rem; border-radius: .5rem; }
/* Magaza adlari uzundur (musteri adiyla baslar): ad sutunu genis */
#rcStoreBars { --rc-bar-name: 21rem; }
.rc-bar-name { font-size: .95rem; font-weight: 600; color: var(--bs-gray-700); }
.rc-bar-track { display: block; height: .75rem; border-radius: .4rem; background-color: var(--bs-gray-200); overflow: hidden; }
[data-bs-theme="dark"] .rc-bar-track { background-color: var(--bs-gray-300); }
.rc-bar-fill { display: block; height: 100%; border-radius: .4rem; }
.rc-bar-value { font-size: .9rem; font-weight: 700; color: var(--bs-gray-700); text-align: right; white-space: nowrap; }
.rc-bar[role="button"] { cursor: pointer; transition: background-color .15s ease; }
.rc-bar[role="button"]:hover, .rc-bar[role="button"]:focus-visible { background-color: var(--bs-gray-100); outline: 0; }
.rc-bar.active { background-color: var(--bs-primary-light); }
.rc-bar.active .rc-bar-name { color: var(--bs-primary); }
.rc-spark { display: inline-flex; align-items: flex-end; gap: 3px; height: 26px; vertical-align: middle; }
.rc-spark > span { display: block; width: 5px; min-height: 3px; border-radius: 2px; }
/* Telefon: musteri adi sutunu daralir; magaza adi cubugun ustunde kendi satirinda durur */
@media (max-width: 575.98px) {
    .rc-bars { --rc-bar-name: 8rem; }
    .rc-bar { column-gap: .6rem; }
    #rcStoreBars .rc-bar { grid-template-columns: minmax(0, 1fr) 3rem; row-gap: .3rem; }
    #rcStoreBars .rc-bar-name { grid-column: 1 / -1; }
}

/* PDF çıktısı (KTPdf): görüntü alınırken gizlenen parçalar (canlı grafik tuvali, harita kutusu) */
.kt-pdf-hidden { display: none !important; }
/* PDF görüntüsü alınırken yalnız içerik kalır: düğmeler, açılır menüler, arama kutuları, tablo sayfalama / sayfa boyu / bilgi satırı, gezinti şeritleri */
.kt-pdf-capture .btn:not([data-kt-pdf-keep]), .kt-pdf-capture [data-kt-menu-trigger], .kt-pdf-capture .menu-sub, .kt-pdf-capture .modal-footer,
.kt-pdf-capture .dt-paging, .kt-pdf-capture .dt-length, .kt-pdf-capture .dt-info, .kt-pdf-capture .position-relative:has(> .ki-magnifier),
.kt-pdf-capture [data-kt-pdf-nav], .kt-pdf-capture .nav-line-tabs, .kt-pdf-capture .home-link, .kt-pdf-capture .blockui-overlay,
.kt-pdf-capture-next .modal-header, .kt-pdf-capture .dt-column-order, .kt-pdf-capture thead th::before, .kt-pdf-capture thead th::after,
.kt-pdf-capture .dt-column-header::before, .kt-pdf-capture .dt-column-header::after { display: none !important; }
/* PDF düzeni: ekrandaki sabit en az yükseklikler ve kaydırma kutuları kalkar (boş alan / gri bant / kesik sütun olmaz), tablo sayfa genişliğine sığar */
.kt-pdf-capture [class*="min-h-"], .kt-pdf-capture .home-modal-min, .kt-pdf-capture .home-live-min, .kt-pdf-capture .home-alert-min, .kt-pdf-capture .home-chart-xl { min-height: 0 !important; }
.kt-pdf-capture .kt-grid, .kt-pdf-capture .table-responsive, .kt-pdf-capture .dt-layout-table, .kt-pdf-capture .dt-scroll-body, .kt-pdf-capture .home-scroll, .kt-pdf-capture .modal-body { overflow: visible !important; }
.kt-pdf-capture table.table { min-width: 0 !important; }
/* html2canvas gölgeyi içeriğin üstüne gri dikdörtgen olarak çiziyor (sağ ve alt taraf griye boğuluyordu): PDF'te gölge yok, kartlar ince kenarlıkla ayrılır */
.kt-pdf-capture, .kt-pdf-capture * { box-shadow: none !important; }
.kt-pdf-capture .card { border: 1px solid var(--bs-gray-200) !important; }
.kt-pdf-progress { position: fixed; top: 1.25rem; left: 50%; transform: translateX(-50%); z-index: 1100; display: flex; align-items: center; padding: .75rem 1.25rem; border-radius: .75rem; background: var(--bs-body-bg); box-shadow: var(--bs-box-shadow); font-weight: 600; color: var(--bs-gray-800); }
/* Ölçüm formları: menü / kategori tanımlama yetkisi olmayan kullanıcıda ekle, düzenle, sil düğmeleri */
.kt-no-define [id^="measureMenuAdd"], .kt-no-define [id^="measureCategoryAdd"], .kt-no-define [data-kt-measure-menu-action="edit"], .kt-no-define [data-kt-measure-menu-action="delete"],
.kt-no-define [data-kt-category-action="edit"], .kt-no-define [data-kt-category-action="delete"] { display: none !important; }
.kt-pdf-full .modal-dialog, .kt-pdf-full .modal-content, .kt-pdf-full .modal-body { max-height: none !important; height: auto !important; overflow: visible !important; }
/* İstemci doğrulaması: hata gösteren alanın satırı (KTValidation işaretler); alan değişince işaret kalkar */
.kt-field-invalid .form-control, .kt-field-invalid .form-select, .kt-field-invalid .select2-selection, .kt-field-invalid .input-group { border-color: var(--bs-danger) !important; }
/* Günlük rut ataması (1440 px): mağaza kartında ad / kod kesilmez, iki satıra kadar sarar; 30 dakikalık plan kutusuna mağaza adı iki satır sığar */
#routeDaily > div:last-child > .card > .card-body { padding: 1.25rem !important; }
.route-store-item { padding-left: .75rem !important; padding-right: .75rem !important; gap: .5rem !important; }
.route-store-item .text-truncate { white-space: normal; overflow-wrap: anywhere; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
#routePlanCalendar .fc-timegrid-slot { height: 2.75rem; }
#routePlanCalendar .fc-timegrid-event .route-event-title { font-size: .8rem; line-height: 1.2; }
/* Ana Sayfa: özet kartı başlığı yalnız kelime aralığından sarar (dar kartta kelime ortasından bölünüyordu); Ziyaret Durumu açıklamaları kesilmez,
   kart darsa halka grafiği açıklamaların üstüne geçer */
.home-kpi-title, .home-legend-row .home-text { overflow-wrap: normal; word-break: normal; hyphens: none; }
@container (max-width: 172px) {
    .home-kpi-grid { grid-template-columns: 28px minmax(0, 1fr); column-gap: .4rem; }
    .home-kpi-icon { width: 28px; height: 28px; }
    .home-kpi-title { font-size: .8rem; margin-right: -.4rem; }
}
.home-card:has(> .home-status) { container-type: inline-size; }
@container (max-width: 340px) {
    .home-status { flex-direction: column; align-items: stretch; }
    .home-donut { align-self: center; }
}
