:root {
    --renk-koyu: #2d3b2f;
    --renk-yesil: #3b6e5e;
    --renk-toprak: #8a5a2f;
    --renk-bg: #f7f5f0;
    --renk-kart: #ffffff;
    --renk-kenar: #ddd6c8;
    --renk-metin: #2a2a26;
    --renk-muted: #6b6b62;
}

* { box-sizing: border-box; }
body {
    margin: 0;
    font-family: -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    background: var(--renk-bg);
    color: var(--renk-metin);
    line-height: 1.5;
}
.wrap { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

.site-header { background: linear-gradient(135deg, #2d3b2f 0%, #23301f 100%); color: #fff; padding: 12px 0; box-shadow: 0 2px 10px rgba(0,0,0,0.15); }
.header-flex { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; }
.logo { display: flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; font-weight: 700; font-size: 1.05rem; line-height: 1.2; }
.site-logo { height: 46px; width: auto; max-width: 130px; object-fit: contain; }
.main-nav { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.main-nav a { color: #e8e6df; text-decoration: none; font-size: 0.95rem; }
.main-nav a:hover { color: #fff; text-decoration: underline; }
.btn-giris, .btn-cikis { background: var(--renk-yesil); padding: 6px 14px; border-radius: 5px; color: #fff !important; }
.user-badge { background: rgba(255,255,255,0.12); padding: 4px 10px; border-radius: 5px; font-size: 0.85rem; }

.main-content { padding: 30px 20px 60px; min-height: 60vh; }

h1 { color: var(--renk-koyu); margin-top: 0; }
.muted { color: var(--renk-muted); }

.search-hero {
    background: linear-gradient(135deg, #f0efe8 0%, #fbfaf6 60%, #ffffff 100%);
    border: 1px solid var(--renk-kenar);
    border-radius: 16px;
    padding: 32px;
    margin-bottom: 24px;
    box-shadow: 0 4px 18px rgba(45, 59, 47, 0.06);
    position: relative;
    overflow: hidden;
}
.search-hero::before {
    content: "🐎";
    position: absolute;
    right: -10px;
    top: -20px;
    font-size: 8rem;
    opacity: 0.05;
    transform: rotate(-10deg);
    pointer-events: none;
}
.search-hero h1 { font-size: 1.7rem; display: flex; align-items: center; gap: 10px; }
.search-form { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.search-form input[type=text], .search-form select, .search-form input[type=number] {
    padding: 10px 14px; border: 1px solid var(--renk-kenar); border-radius: 8px; font-size: 0.95rem;
    background: #fff; transition: border-color 0.15s, box-shadow 0.15s;
}
.search-form input[type=text]:focus, .search-form select:focus, .search-form input[type=number]:focus {
    outline: none; border-color: var(--renk-yesil); box-shadow: 0 0 0 3px rgba(59, 110, 94, 0.12);
}
.search-form input[type=text] { flex: 1 1 240px; }
.chk-inline { display: flex; align-items: center; gap: 6px; font-size: 0.85rem; color: var(--renk-muted); }

.btn-primary { background: var(--renk-yesil); color: #fff; border: none; padding: 10px 22px; border-radius: 8px; cursor: pointer; font-size: 0.95rem; font-weight: 600; box-shadow: 0 2px 6px rgba(59, 110, 94, 0.25); transition: background 0.15s, transform 0.1s; }
.btn-primary:hover { background: #2f5a4d; transform: translateY(-1px); }
.btn-secondary { background: #eee; color: var(--renk-metin); border: 1px solid var(--renk-kenar); padding: 9px 16px; border-radius: 8px; text-decoration: none; transition: background 0.15s; }
.btn-secondary:hover { background: #e2e0d8; }
.btn-mini { display: inline-block; padding: 4px 10px; font-size: 0.82rem; border-radius: 6px; background: var(--renk-yesil); color: #fff; text-decoration: none; border: none; cursor: pointer; transition: opacity 0.15s; }
.btn-mini:hover { opacity: 0.85; }
.btn-danger { background: #c0392b; }

.results { margin-top: 10px; }
.sonuc-sayisi { font-weight: 700; color: var(--renk-koyu); font-size: 1.05rem; }
.badge-kisitli { font-weight: 400; color: var(--renk-toprak); font-size: 0.85rem; }

.table-scroll { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; background: var(--renk-kart); border-radius: 10px; overflow: hidden; box-shadow: 0 2px 10px rgba(45, 59, 47, 0.06); }
.data-table th, .data-table td { padding: 11px 14px; text-align: left; border-bottom: 1px solid var(--renk-kenar); font-size: 0.9rem; white-space: nowrap; }
.data-table th { background: var(--renk-koyu); color: #fff; }
/* Tek/çift satır ayrımı (Excel tarzı "zebra" görünüm) — <tr> seviyesinde
   uygulanır, böylece kendi arka plan rengi olan hücreler (ör. kanal grubu
   renklendirmesi, aşağıda .kanal-grup-*) bundan ETKİLENMEZ: bir hücrenin
   kendi background'u varsa, altındaki satırın rengini otomatik olarak
   gizler. Site paletindeki genel arka plan tonu (--renk-bg) kullanıldığı
   için hem açık hem koyu temada otomatik doğru kontrastta kalır. */
.data-table tbody tr:nth-child(even) { background: var(--renk-bg); }
.data-table tr:hover td { background: #f0efe8; }
.data-table tbody tr { transition: background 0.1s; }
.actions { display: flex; gap: 6px; }

.pagination { display: flex; gap: 6px; margin-top: 16px; flex-wrap: wrap; }
.pagination a { padding: 6px 12px; border: 1px solid var(--renk-kenar); border-radius: 5px; text-decoration: none; color: var(--renk-metin); background: #fff; }
.pagination a.active { background: var(--renk-yesil); color: #fff; border-color: var(--renk-yesil); }

.auth-box { max-width: 380px; margin: 40px auto; background: var(--renk-kart); border: 1px solid var(--renk-kenar); border-radius: 10px; padding: 30px; }
.form-vertical { display: flex; flex-direction: column; gap: 14px; }
.form-vertical label { display: flex; flex-direction: column; gap: 5px; font-size: 0.9rem; font-weight: 600; color: var(--renk-koyu); }
.form-vertical input, .form-vertical select { padding: 9px 12px; border: 1px solid var(--renk-kenar); border-radius: 6px; font-weight: 400; font-size: 0.95rem; }
.sifre-input-wrap { position: relative; display: flex; }
.sifre-input-wrap input { flex: 1; padding-right: 40px !important; }
.sifre-goster-btn { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); background: none; border: none; cursor: pointer; font-size: 1.1rem; padding: 4px 8px; line-height: 1; opacity: 0.7; }
.sifre-goster-btn:hover { opacity: 1; }

.form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin-bottom: 20px; }
fieldset { border: 1px solid var(--renk-kenar); border-radius: 8px; padding: 16px; background: var(--renk-kart); }
fieldset legend { font-weight: 700; color: var(--renk-koyu); padding: 0 6px; }
fieldset label { display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px; font-size: 0.85rem; font-weight: 600; color: var(--renk-muted); }
fieldset input, fieldset select { padding: 8px 10px; border: 1px solid var(--renk-kenar); border-radius: 5px; font-weight: 400; color: var(--renk-metin); }

.success-msg { background: #e3f3e9; border: 1px solid #a9d8bb; color: #1e6a3c; padding: 10px 16px; border-radius: 6px; }
.error-msg { background: #fbe6e4; border: 1px solid #f0b4ae; color: #a3271b; padding: 10px 16px; border-radius: 6px; }

.stat-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; margin-bottom: 28px; }
.stat-card { background: var(--renk-kart); border: 1px solid var(--renk-kenar); border-radius: 12px; padding: 18px; display: flex; flex-direction: column; gap: 6px; box-shadow: 0 2px 10px rgba(45, 59, 47, 0.05); transition: transform 0.15s, box-shadow 0.15s; }
.stat-card:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(45, 59, 47, 0.1); }
.stat-label { color: var(--renk-muted); font-size: 0.85rem; }
.stat-value { font-size: 1.5rem; font-weight: 700; color: var(--renk-koyu); }

.chart-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); gap: 20px; margin-bottom: 30px; }
.chart-box { background: var(--renk-kart); border: 1px solid var(--renk-kenar); border-radius: 12px; padding: 18px; box-shadow: 0 2px 10px rgba(45, 59, 47, 0.05); }
.chart-box h2 { margin-top: 0; font-size: 1rem; color: var(--renk-koyu); }

.site-footer { background: var(--renk-koyu); color: #cfcbbe; padding: 16px 0; text-align: center; font-size: 0.85rem; }

/* ---------- Anonim arama: görsel iyileştirmeler ---------- */
.hero-badge { display: inline-block; background: var(--renk-yesil); color: #fff; font-size: 0.75rem; font-weight: 600; padding: 4px 12px; border-radius: 20px; margin-bottom: 10px; letter-spacing: 0.02em; }
.bos-durum { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 50px 20px; text-align: center; }
.bos-durum-ikon { font-size: 2.5rem; opacity: 0.5; }
.bos-durum-ikon.yukleniyor { animation: pulse-fade 1.2s ease-in-out infinite; }
@keyframes pulse-fade { 0%, 100% { opacity: 0.3; } 50% { opacity: 0.7; } }

@media (max-width: 640px) {
    .main-nav { width: 100%; justify-content: flex-start; }
    .data-table th, .data-table td { font-size: 0.8rem; padding: 7px 8px; }
}

/* ---------- Aranabilir dropdown (searchable select) ---------- */
.ss-field { position: relative; }
.ss-input-row { display: flex; gap: 6px; }
.ss-input-row input[type=text] { flex: 1; }
.ss-btn-addnew { background: var(--renk-toprak); color: #fff; border: none; border-radius: 5px; padding: 0 12px; cursor: pointer; font-size: 0.85rem; white-space: nowrap; }
.ss-results { position: absolute; z-index: 40; top: 100%; left: 0; right: 0; background: #fff; border: 1px solid var(--renk-kenar); border-radius: 6px; max-height: 220px; overflow-y: auto; box-shadow: 0 6px 16px rgba(0,0,0,0.12); display: none; margin-top: 3px; }
.ss-item { padding: 8px 12px; cursor: pointer; display: flex; justify-content: space-between; gap: 10px; font-size: 0.9rem; }
.ss-item:hover { background: #f0efe8; }
.ss-name { font-weight: 600; color: var(--renk-metin); }
.ss-family { color: var(--renk-muted); font-size: 0.8rem; }
.ss-empty { padding: 10px 12px; color: var(--renk-muted); font-size: 0.85rem; }
.ss-benzer-ipucu { margin-top: 6px; padding: 8px 12px; background: #fff8e8; border: 1px solid #e8d9a8; border-radius: 6px; font-size: 0.85rem; color: var(--renk-metin); }
.ss-benzer-ipucu a { color: #8a5a2f; font-weight: 600; text-decoration: underline; }

.price-input-wrap { display: flex; align-items: center; border: 1px solid var(--renk-kenar); border-radius: 5px; overflow: hidden; }
.price-input-wrap .price-symbol { background: #f0efe8; padding: 8px 10px; font-weight: 700; color: var(--renk-toprak); }
.price-input-wrap input { border: none !important; flex: 1; border-radius: 0 !important; }

.eski-tl-kutu { background: #fbe6e4; border: 1px solid #f0b4ae; border-radius: 8px; padding: 12px 14px; margin-bottom: 14px; }
.eski-tl-baslik { margin: 0 0 6px; font-weight: 700; color: #a3271b; font-size: 0.88rem; }
.eski-tl-metin { margin: 0 0 10px; font-size: 0.82rem; color: #7a2016; line-height: 1.5; }
.eski-tl-kutu .chk-inline { color: #a3271b; font-weight: 600; }
#eski-tl-onizleme { font-weight: 600; color: #1e6a3c; margin-top: 4px; display: block; }

.badge-yeni { display: inline-block; background: #fff3cd; color: #8a6d1a; font-size: 0.7rem; padding: 1px 6px; border-radius: 4px; margin-left: 4px; white-space: nowrap; }
.hucre-hata { border-color: #c0392b !important; background: #fbe6e4; }
.satir-benzer-oneri { font-size: 0.72rem; color: #8a5a2f; margin-top: 2px; white-space: nowrap; }
.satir-benzer-oneri a { color: #8a5a2f; font-weight: 600; }
#onizleme-tablosu input, #onizleme-tablosu select { padding: 4px 6px; font-size: 0.82rem; border: 1px solid var(--renk-kenar); border-radius: 4px; width: 100%; min-width: 90px; }

/* ---------- Modal (popup) ---------- */
.ss-modal-overlay { position: fixed; inset: 0; background: rgba(20,20,15,0.5); display: flex; align-items: center; justify-content: center; z-index: 100; padding: 20px; }
.ss-modal { background: #fff; border-radius: 10px; padding: 24px; width: 100%; max-width: 380px; box-shadow: 0 10px 30px rgba(0,0,0,0.25); }
.ss-modal h3 { margin-top: 0; color: var(--renk-koyu); }
.ss-modal label { display: flex; flex-direction: column; gap: 5px; font-size: 0.85rem; font-weight: 600; color: var(--renk-muted); margin-bottom: 12px; }
.ss-modal input { padding: 8px 10px; border: 1px solid var(--renk-kenar); border-radius: 5px; font-weight: 400; }
.ss-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 10px; }
.ss-modal-error { color: #a3271b; font-size: 0.85rem; }

/* Aygır/Kısrak/Familya/Alıcı Yönetimi sayfalarında "Satış Adedi" gibi
   sayılara tıklanınca açılan detay modalı (panel-detay.js tarafından
   kullanılır) — mevcut .ss-modal-overlay'i taşıyıcı olarak kullanır,
   kendisi daha geniş ve tablo içerebilecek şekilde tasarlanmıştır. */
.panel-detay-modal {
    background: var(--renk-kart); border-radius: 10px; padding: 20px 24px 24px;
    width: 100%; max-width: 900px; max-height: 82vh;
    display: flex; flex-direction: column; /* başlık+arama sabit kalsın, sadece tablo kayar */
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
}
.panel-detay-baslik { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; flex-shrink: 0; }
.panel-detay-baslik h3 { margin: 0; color: var(--renk-koyu); font-size: 1.1rem; }
.panel-detay-kapat { background: none; border: none; font-size: 1.6rem; line-height: 1; cursor: pointer; color: var(--renk-muted); padding: 0 4px; }
.panel-detay-kapat:hover { color: var(--renk-koyu); }
.panel-detay-arac-cubugu { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; flex-shrink: 0; flex-wrap: wrap; }
.panel-detay-arama { flex: 1; min-width: 180px; padding: 8px 12px; border: 1px solid var(--renk-kenar); border-radius: 6px; font-size: 0.9rem; }
.panel-detay-sayac { font-size: 0.85rem; color: var(--renk-muted); white-space: nowrap; }
.panel-detay-govde { overflow-y: auto; flex: 1; min-height: 0; } /* yalnızca tablo kısmı kayar, başlık/arama sabit kalır */
.panel-detay-govde .data-table { font-size: 0.88rem; }
.panel-detay-govde .data-table thead th { position: sticky; top: 0; z-index: 1; } /* uzun listede sütun başlıkları her zaman görünür */

/* Aygır/Kısrak/Familya/Alıcı listelerindeki tıklanabilir sayı sütunları */
.panel-tiklanabilir-sayi { background: none; border: none; padding: 0; font: inherit; color: var(--renk-koyu); font-weight: 700; text-decoration: underline; text-decoration-style: dotted; cursor: pointer; }
.panel-tiklanabilir-sayi:hover { color: #1e6a3c; }

/* ---------- Toast bildirimleri ---------- */
#toast-container { position: fixed; bottom: 20px; right: 20px; z-index: 200; display: flex; flex-direction: column; gap: 8px; }
.toast { background: var(--renk-koyu); color: #fff; padding: 12px 18px; border-radius: 8px; font-size: 0.9rem; opacity: 0; transform: translateY(10px); transition: all 0.25s ease; box-shadow: 0 6px 16px rgba(0,0,0,0.2); }
.toast.show { opacity: 1; transform: translateY(0); }
.toast-error { background: #a3271b; }
.toast-success { background: #1e6a3c; }

/* ---------- Gerçek zamanlı arama sonuç durumları ---------- */
.search-loading { color: var(--renk-muted); font-style: italic; padding: 10px 0; }

/* ---------- Dark mode altyapısı (hazır, aktif değil) ---------- */
[data-theme="dark"] {
    --renk-bg: #1b1f1c;
    --renk-kart: #262b27;
    --renk-kenar: #3a3f3a;
    --renk-metin: #e8e6df;
    --renk-muted: #9a9a90;
    --renk-koyu: #10140f;
}
[data-theme="dark"] .data-table tr:hover td { background: #2f342f; }
[data-theme="dark"] .ss-results { background: #262b27; }
[data-theme="dark"] .ss-item:hover { background: #2f342f; }
[data-theme="dark"] .ss-modal { background: #262b27; }
[data-theme="dark"] .ss-modal input,
[data-theme="dark"] .form-vertical input,
[data-theme="dark"] .form-vertical select,
[data-theme="dark"] fieldset input,
[data-theme="dark"] fieldset select,
[data-theme="dark"] .search-form input,
[data-theme="dark"] .search-form select,
[data-theme="dark"] .panel-detay-arama { background: #1b1f1c; color: var(--renk-metin); border-color: var(--renk-kenar); }

/* ---------- Yönetici paneli ---------- */
.panel-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin-top: 20px; }
.panel-card { background: var(--renk-kart); border: 1px solid var(--renk-kenar); border-radius: 12px; padding: 18px; text-decoration: none; color: inherit; transition: box-shadow 0.15s, transform 0.15s; box-shadow: 0 2px 10px rgba(45, 59, 47, 0.05); }
.panel-card:hover { box-shadow: 0 6px 16px rgba(0,0,0,0.1); transform: translateY(-2px); }
.panel-card h2 { margin: 0 0 6px; font-size: 1.05rem; color: var(--renk-koyu); }
.panel-card p { margin: 0; color: var(--renk-muted); font-size: 0.85rem; }
.status-badge { display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: 0.75rem; font-weight: 600; }
.status-active { background: #e3f3e9; color: #1e6a3c; }
.status-inactive { background: #f0efe8; color: var(--renk-muted); }
.inline-form { display: inline; }
.audit-json { max-width: 220px; white-space: normal !important; word-break: break-word; font-size: 0.78rem; font-family: monospace; color: var(--renk-muted); }

/* ---------- Kayıt listesi: araç çubuğu, sıralama, sayfalama ---------- */
.liste-toolbar { display: flex; justify-content: space-between; align-items: center; margin: 14px 0; flex-wrap: wrap; gap: 10px; }
.sayfa-boyutu-secici { display: flex; align-items: center; gap: 8px; font-size: 0.9rem; color: var(--renk-muted); font-weight: 600; }
.sayfa-boyutu-secici select { padding: 6px 10px; border: 1px solid var(--renk-kenar); border-radius: 6px; font-weight: 400; color: var(--renk-metin); }
.sortable-th { cursor: pointer; user-select: none; white-space: nowrap; }
.sortable-th:hover { background: #3a4d40; }
.pagination-modern { display: flex; align-items: center; gap: 8px; margin-top: 16px; flex-wrap: wrap; }
.pagination-modern select { padding: 6px 10px; border: 1px solid var(--renk-kenar); border-radius: 6px; background: #fff; color: var(--renk-metin); }
.pagination-modern button:disabled { opacity: 0.4; cursor: not-allowed; }
.data-table th a.th-sort-link,
.data-table th a.th-sort-link:link,
.data-table th a.th-sort-link:visited { color: #fff; text-decoration: none; display: inline-block; }
.data-table th a.th-sort-link:hover { text-decoration: underline; color: #fff; }

/* Dashboard'da doğrudan <th> üzerine tıklanan istemci-taraflı sıralama (panel sayfalarındaki <a> linkinden farklı) */
.data-table th.th-sort-link { cursor: pointer; user-select: none; position: relative; }
.data-table th.th-sort-link:hover { background: #3a4a3c; }
.data-table th.th-sort-asc::after { content: ' ▲'; font-size: 0.7em; }
.data-table th.th-sort-desc::after { content: ' ▼'; font-size: 0.7em; }

/* Birden fazla ihale şekli/kanal (Koşu Tayı, Elit vb.) veya TL/Dolar sütun
   gruplarının yan yana gösterildiği tablolarda, hangi sütunun hangi gruba
   ait olduğunu görsel olarak ayırt etmek için kullanılır. */
.data-table th.kanal-grup-0 { background: #2d5940; }
.data-table th.kanal-grup-1 { background: #6e4a26; }
.data-table th.kanal-grup-2 { background: #2c4f6e; }
.data-table th.kanal-grup-3 { background: #5a3a6e; }
.data-table td.kanal-grup-0 { background: #eaf3ee; border-left: 2px solid #2d5940; }
.data-table td.kanal-grup-1 { background: #f6ede2; border-left: 2px solid #6e4a26; }
.data-table td.kanal-grup-2 { background: #e9eff5; border-left: 2px solid #2c4f6e; }
.data-table td.kanal-grup-3 { background: #f0e9f5; border-left: 2px solid #5a3a6e; }
.data-table tr:hover td.kanal-grup-0 { background: #dcece3; }
.data-table tr:hover td.kanal-grup-1 { background: #f0e2d1; }
.data-table tr:hover td.kanal-grup-2 { background: #d9e4ee; }
.data-table tr:hover td.kanal-grup-3 { background: #e6d9ee; }
[data-theme="dark"] .data-table td.kanal-grup-0 { background: #1f2e26; }
[data-theme="dark"] .data-table td.kanal-grup-1 { background: #2e2519; }
[data-theme="dark"] .data-table td.kanal-grup-2 { background: #1c2731; }
[data-theme="dark"] .data-table td.kanal-grup-3 { background: #2a2130; }

/* "Tüm İşletmeler" seçiliyken, bir işletmeye ait veriyi diğer tablolarda da
   tutarlı bir şekilde tanımak için İşletme adının önüne küçük renkli bir
   nokta eklenir. Kanal grubu arka plan renklendirmesiyle (üstteki .kanal-grup-*
   sınıfları) ÇAKIŞMAMASI için arka plan yerine bu yöntem kullanılır — aynı
   hücrede ikisi bir arada olabildiğinden. */
.isletme-nokta { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 6px; vertical-align: middle; }
.isletme-renk-0 { background: #2E7D32; } /* Yeşil */
.isletme-renk-1 { background: #8D5524; } /* Kahverengi */
.isletme-renk-2 { background: #1565C0; } /* Mavi */
.isletme-renk-3 { background: #7B1FA2; } /* Mor */
.isletme-renk-4 { background: #C62828; } /* Kırmızı */
.isletme-renk-5 { background: #F9A825; } /* Sarı */

.metrik-secici { display: flex; flex-wrap: wrap; gap: 12px; margin: 12px 0 20px; }

.istatistik-bolum-basligi { margin: 34px 0 14px; padding-top: 14px; border-top: 2px solid var(--renk-kenar); }
.istatistik-bolum-basligi:first-of-type { margin-top: 18px; border-top: none; padding-top: 0; }
.istatistik-bolum-basligi h2 { margin: 0 0 4px; font-size: 1.25rem; color: var(--renk-koyu); }
.istatistik-bolum-basligi p.muted { margin: 0; max-width: 900px; }

.ist-sekme-cubugu { display: flex; gap: 6px; border-bottom: 2px solid var(--renk-kenar); margin-bottom: 24px; }
.ist-sekme-btn { background: none; border: none; border-bottom: 3px solid transparent; padding: 10px 20px; font-size: 1rem; font-weight: 600; color: var(--renk-muted); cursor: pointer; margin-bottom: -2px; }
.ist-sekme-btn:hover { color: var(--renk-koyu); background: #f0efe8; }
.ist-sekme-btn.active { color: var(--renk-koyu); border-bottom-color: var(--renk-yesil); }
.ist-sekme-icerik { display: none; }
.ist-sekme-icerik.active { display: block; }
.ist-sekme-icerik h3 { margin: 28px 0 4px; font-size: 1.05rem; color: var(--renk-koyu); }
.ist-sekme-icerik h3:first-child { margin-top: 0; }

/* ---------- Özellik Erişim Ayarları ---------- */
.uyari-kutusu { background: #fff8e8; border: 1px solid #e8d9a8; border-radius: 8px; padding: 14px 18px; color: var(--renk-metin); }
.toggle-switch { position: relative; display: inline-block; width: 44px; height: 24px; vertical-align: middle; }
.toggle-switch input { opacity: 0; width: 0; height: 0; }
.toggle-slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #cfcbbe; border-radius: 24px; transition: 0.2s; }
.toggle-slider::before { position: absolute; content: ""; height: 18px; width: 18px; left: 3px; bottom: 3px; background-color: #fff; border-radius: 50%; transition: 0.2s; }
.toggle-switch input:checked + .toggle-slider { background-color: #1e6a3c; }
.toggle-switch input:checked + .toggle-slider::before { transform: translateX(20px); }
.toggle-durum { margin-left: 10px; font-size: 0.85rem; color: var(--renk-muted); vertical-align: middle; }
.metrik-secenek { display: flex; align-items: center; gap: 6px; font-size: 0.88rem; color: var(--renk-metin); background: var(--renk-kart); border: 1px solid var(--renk-kenar); border-radius: 20px; padding: 6px 14px; cursor: pointer; }
.metrik-secenek:hover { background: #f0efe8; }

/* ---------- Rapor Merkezi ---------- */
.rapor-grid { display: grid; grid-template-columns: 280px 1fr; gap: 24px; align-items: start; margin-top: 16px; }
.rapor-filtre-panel { background: var(--renk-kart); border: 1px solid var(--renk-kenar); border-radius: 12px; padding: 18px; position: sticky; top: 16px; box-shadow: 0 2px 10px rgba(45, 59, 47, 0.05); }
.rapor-filtre-panel h2 { font-size: 1rem; margin-top: 0; color: var(--renk-koyu); }
.rapor-filtre-panel label { display: flex; flex-direction: column; gap: 4px; font-size: 0.82rem; font-weight: 600; color: var(--renk-muted); margin-bottom: 10px; }
.rapor-filtre-panel input, .rapor-filtre-panel select { width: 100%; box-sizing: border-box; padding: 6px 8px; border: 1px solid var(--renk-kenar); border-radius: 5px; font-weight: 400; color: var(--renk-metin); font-size: 0.85rem; }
.rapor-filtre-panel select[multiple] { height: auto; }
.filtre-satir { min-width: 0; }
.filtre-satir label { min-width: 0; }
.filtre-satir { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.btn-excel { background: #1e6a3c; color: #fff; }
.btn-pdf { background: #a3271b; color: #fff; }
.btn-excel:disabled, .btn-pdf:disabled { background: #cfcbbe; color: #8a877d; cursor: not-allowed; }

.yardim-kutusu { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; background: #fff8e8; border: 1px solid #e8d9a8; border-radius: 10px; padding: 16px 20px; margin-bottom: 18px; }
.yardim-kutusu-metin strong { color: var(--renk-koyu); }
.yardim-kutusu-metin p { margin: 4px 0 0; }
.yardim-kutusu-butonlar { display: flex; gap: 8px; flex-wrap: wrap; }
.yardim-kutusu-butonlar .btn-mini { padding: 8px 16px; font-size: 0.88rem; }

.toplu-silme-cubugu { display: flex; justify-content: space-between; align-items: center; gap: 12px; background: #fdeceb; border: 1px solid #e8b3ac; border-radius: 8px; padding: 10px 16px; margin-bottom: 14px; }
.toplu-silme-butonlari { display: flex; gap: 8px; }
.satir-checkbox, #tumunu-sec-checkbox { width: 16px; height: 16px; cursor: pointer; }

.rapor-secim-panel { background: var(--renk-kart); border: 1px solid var(--renk-kenar); border-radius: 12px; padding: 18px; box-shadow: 0 2px 10px rgba(45, 59, 47, 0.05); }
.rapor-secim-panel h2 { font-size: 1rem; margin-top: 0; color: var(--renk-koyu); }

.rapor-kategori-sekmeler { display: flex; flex-wrap: wrap; gap: 6px; border-bottom: 1px solid var(--renk-kenar); padding-bottom: 12px; margin-bottom: 12px; }
.kategori-sekme { background: none; border: 1px solid var(--renk-kenar); border-radius: 20px; padding: 6px 14px; font-size: 0.82rem; color: var(--renk-muted); cursor: pointer; }
.kategori-sekme:hover { background: #f0efe8; }
.kategori-sekme.active { background: var(--renk-koyu); color: #fff; border-color: var(--renk-koyu); font-weight: 600; }

.rapor-satir-listesi { display: flex; flex-direction: column; gap: 2px; max-height: 420px; overflow-y: auto; margin-bottom: 4px; }
.rapor-satir { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 8px; cursor: pointer; border: 1px solid transparent; }
.rapor-satir:hover { background: #f7f5f0; }
.rapor-satir.secili { background: #e3f3e9; border-color: #1e6a3c; }
.rapor-satir-radio { flex-shrink: 0; }
.radio-gorunum { display: block; width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--renk-kenar); }
.rapor-satir.secili .radio-gorunum { border-color: #1e6a3c; background: #1e6a3c; box-shadow: inset 0 0 0 3px #fff; }
.rapor-satir-metin { display: flex; flex-direction: column; gap: 2px; }
.rapor-satir-metin strong { font-size: 0.9rem; color: var(--renk-metin); }
.rapor-satir-metin .muted { font-size: 0.78rem; }

.rapor-indirme-cubugu { display: flex; justify-content: space-between; align-items: center; gap: 12px; background: #f7f5f0; border: 1px solid var(--renk-kenar); border-radius: 8px; padding: 12px 16px; margin-top: 10px; flex-wrap: wrap; transition: background 0.2s; }
.rapor-indirme-cubugu.aktif { background: #fff8e8; border-color: #e8d9a8; }
.secili-rapor-bilgi { font-size: 0.9rem; }
.indirme-butonlari { display: flex; gap: 8px; }

@media (max-width: 900px) {
    .rapor-grid { grid-template-columns: 1fr; }
    .rapor-filtre-panel { position: static; }
    .rapor-satir-listesi { max-height: none; }
}

