:root {
    --theme-bg-dark: #1A202C;        /* Koyu Antrasit Mavi - Ana Arka Plan */
    --theme-bg-medium: #2D3748;       /* Orta Antrasit Mavi - Sidebar, Kartlar */
    --theme-bg-light: #4A5568;        /* Açık Mavimsi Gri - Vurgular, Hover */
    --theme-primary: #38B2AC;         /* Camgöbeği (Teal) - Ana Vurgu Rengi */
    --theme-primary-hover: #319795;   /* Koyu Camgöbeği - Hover */
    --theme-primary-text: #FFFFFF;    /* Ana Vurgu Rengi Üzerindeki Yazı */
    --theme-secondary: #718096;       /* Gri - İkincil Butonlar, Kenarlıklar */
    --theme-secondary-hover: #A0AEC0; /* Açık Gri - İkincil Hover */
    --theme-text-light: #F7FAFC;      /* Çok Açık Gri/Beyaz - Ana Yazı */
    --theme-text-medium: #E2E8F0;     /* Açık Gri - İkincil Yazı */
    --theme-text-dark: #A0AEC0;       /* Orta Gri - Daha Az Önemli Yazı, İkonlar */
    --theme-border-color: #4A5568;    /* Kenarlık Rengi */
    --theme-card-header-bg: #2D3748;  /* Kart Başlığı Arka Planı */
    --theme-table-header-bg: #4A5568; /* Tablo Başlığı Arka Planı */
    --theme-table-stripe-bg: #272C37; /* Tablo Satır Şeridi */
    --theme-input-bg: #2D3748;        /* Input Arka Planı */
    --theme-input-border: #4A5568;    /* Input Kenarlık */
    --theme-input-focus-border: var(--theme-primary);
    --theme-success: #38A169;        /* Yeşil - Başarı mesajları */
    --theme-danger: #E53E3E;         /* Kırmızı - Hata mesajları */
    --theme-warning: #DD6B20;        /* Turuncu - Uyarı mesajları */
    --theme-info: #3182CE;           /* Mavi - Bilgi mesajları */
}

/* Sidebar ve Layout Düzeltmeleri */
body {
  background-color: var(--theme-bg-dark);
  color: var(--theme-text-light);
  transition: background-color 0.3s ease, color 0.3s ease; /* Renk geçişleri için */
}

#wrapper {
    display: flex;
    overflow-x: hidden; /* Yatay kaydırmayı engelle */
}

#sidebar-wrapper {
    width: 15rem; /* Sabit sidebar genişliği */
    min-height: 100vh;
    background-color: var(--theme-bg-medium);
    border-right: 1px solid var(--theme-border-color);
    transition: margin-left 0.25s ease-out;
    margin-left: 0; /* Büyük ekranlarda varsayılan olarak görünür */
}

#page-content-wrapper {
    flex-grow: 1; /* Kalan alanı kapla */
    /* Genişlik ve margin-left sidebar durumuna göre ayarlanacak */
    /* width: calc(100% - 15rem); */ /* Başlangıçta sidebar açıkken */
    /* margin-left: 15rem; */
    transition: margin-left 0.25s ease-out, width 0.25s ease-out; 
    overflow-y: auto; /* İçerik taşarsa dikey scrollbar */
    padding-bottom: 60px; /* footer için yer (eğer olacaksa) */
}

/* Sidebar Gizlendiğinde (body.sb-sidenav-toggled) */
body.sb-sidenav-toggled #sidebar-wrapper {
    margin-left: -15rem; /* Sidebar'ı sola kaydırarak gizle */
}

/* Küçük Ekranlar için (Bootstrap md breakpoint'inden küçük) */
@media (max-width: 767.98px) {
    #sidebar-wrapper {
        margin-left: -15rem; /* Başlangıçta gizli */
    }
    /* Küçük ekranda sidebar açıldığında (sb-sidenav-toggled) */
    body.sb-sidenav-toggled #sidebar-wrapper {
        margin-left: 0;
    }
    /* Küçük ekranda sidebar açıldığında sayfa içeriği genellikle sidebar'ın altına kayar veya sidebar overlay olur.
       Şu anki flex yapısı ile itme davranışı devam edecek, bu da küçük ekranlarda sıkışıklığa neden olabilir.
       Daha gelişmiş bir mobil menü için farklı bir yaklaşım (örn: offcanvas) gerekebilir.
       Şimdilik mevcut itme davranışı ile devam edelim.
    */
}

/* Sidebar Temel Stilleri */
#sidebar-wrapper .sidebar-heading {
    padding: 1rem 1.25rem;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--theme-text-light);
    border-bottom: 1px solid var(--theme-border-color);
    text-transform: uppercase;
}

#sidebar-wrapper .list-group-item {
    border: none;
    padding: 0.9rem 1.25rem;
    color: var(--theme-text-medium);
    background-color: transparent;
    border-left: 4px solid transparent; /* Aktif durum için kenarlık */
    transition: background-color 0.2s ease, color 0.2s ease, border-left-color 0.2s ease;
}

#sidebar-wrapper .list-group-item i.fas {
    margin-right: 0.75rem;
    width: 20px; /* İkonların hizalanması için */
    text-align: center;
}

#sidebar-wrapper .list-group-item:hover,
#sidebar-wrapper .list-group-item.active-custom {
    background-color: var(--theme-bg-light);
    color: var(--theme-primary);
    border-left-color: var(--theme-primary);
}
#sidebar-wrapper .list-group-item.active-custom {
     font-weight: 500;
}

/* Üst Navbar Stilleri */
#page-content-wrapper .navbar {
    background-color: var(--theme-bg-medium);
    border-bottom: 1px solid var(--theme-border-color);
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

#page-content-wrapper .navbar .btn#sidebarToggle {
    color: var(--theme-text-dark);
    border: 1px solid transparent;
    padding: 0.375rem 0.75rem;
}

#page-content-wrapper .navbar .btn#sidebarToggle:hover {
    color: var(--theme-text-light);
    background-color: var(--theme-bg-light);
}

#page-content-wrapper .navbar .nav-link {
    color: var(--theme-text-medium) !important;
}

#page-content-wrapper .navbar .nav-link:hover {
    color: var(--theme-text-light) !important;
}

#page-content-wrapper .navbar .navbar-brand { /* Eğer kullanılacaksa */
    color: var(--theme-text-light) !important;
}

/* GERİ KALAN TÜM CSS KODUNU SİLİYORUM VE YENİDEN YAZIYORUM */

/* Genel Elementler ve Kartlar */
h1, h2, h3, h4, h5, h6 {
    color: var(--theme-text-light);
}

.card {
    background-color: var(--theme-bg-medium);
    border: 1px solid var(--theme-border-color);
    border-radius: 0.375rem; /* Bootstrap default .rounded */
}

.card-header {
    background-color: var(--theme-card-header-bg);
    border-bottom: 1px solid var(--theme-border-color);
    color: var(--theme-text-light);
    padding: 0.75rem 1.25rem;
}

.card-body {
    padding: 1.25rem;
}

/* Tablo Stilleri */
.table {
    color: var(--theme-text-medium);
    background-color: var(--theme-bg-medium); /* Tablo arka planı */
    border: 1px solid var(--theme-border-color);
}

.table thead th {
    background-color: var(--theme-table-header-bg);
    color: var(--theme-text-light);
    border-bottom: 2px solid var(--theme-border-color);
    border-top: none; /* Bootstrap'in varsayılanını ezer */
}

.table tbody tr {
    border-top: 1px solid var(--theme-border-color);
}

.table tbody tr:nth-of-type(odd) {
    background-color: var(--theme-table-stripe-bg);
}

.table tbody tr:hover {
    background-color: var(--theme-bg-light);
    color: var(--theme-text-light);
}

.table td, .table th {
    border-color: var(--theme-border-color);
    padding: 0.75rem;
    vertical-align: middle;
}

/* Form Elemanları */
.form-control,
.form-select {
    background-color: var(--theme-input-bg);
    color: var(--theme-text-light);
    border: 1px solid var(--theme-input-border);
    border-radius: 0.25rem;
}

.form-control:focus,
.form-select:focus {
    background-color: var(--theme-input-bg);
    color: var(--theme-text-light);
    border-color: var(--theme-input-focus-border);
    box-shadow: 0 0 0 0.2rem rgba(var(--theme-primary-rgb, 56, 178, 172), 0.25); /* theme-primary RGB olarak eklenecek */
}

.form-control::placeholder {
    color: var(--theme-text-dark);
}

.form-check-input {
    background-color: var(--theme-input-bg);
    border-color: var(--theme-input-border);
}

.form-check-input:checked {
    background-color: var(--theme-primary);
    border-color: var(--theme-primary);
}

.form-label {
    color: var(--theme-text-medium);
    margin-bottom: 0.5rem;
}

/* Butonlar */
.btn {
    border-radius: 0.25rem;
    padding: 0.5rem 1rem;
    font-weight: 500;
    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.btn-primary {
    background-color: var(--theme-primary);
    border-color: var(--theme-primary);
    color: var(--theme-primary-text);
}
.btn-primary:hover {
    background-color: var(--theme-primary-hover);
    border-color: var(--theme-primary-hover);
    color: var(--theme-primary-text);
}

.btn-secondary {
    background-color: var(--theme-secondary);
    border-color: var(--theme-secondary);
    color: var(--theme-text-light);
}
.btn-secondary:hover {
    background-color: var(--theme-secondary-hover);
    border-color: var(--theme-secondary-hover);
    color: var(--theme-bg-dark);
}

.btn-danger {
    background-color: var(--theme-danger);
    border-color: var(--theme-danger);
    color: #fff;
}
.btn-danger:hover {
    background-color: darken(var(--theme-danger), 10%);
    border-color: darken(var(--theme-danger), 10%);
    color: #fff;
}

.btn-info {
    background-color: var(--theme-info);
    border-color: var(--theme-info);
    color: #fff;
}
/* ... diğer buton türleri için benzer stiller ... */

/* Alert (Bilgilendirme) Mesajları */
.alert {
    border-radius: 0.25rem;
    padding: 1rem;
}
.alert-success {
    color: #fff;
    background-color: var(--theme-success);
    border-color: darken(var(--theme-success), 10%);
}
.alert-danger {
    color: #fff;
    background-color: var(--theme-danger);
    border-color: darken(var(--theme-danger), 10%);
}
/* ... diğer alert türleri ... */

/* Sayfalama (Pagination) */
.pagination .page-link {
    background-color: var(--theme-input-bg);
    border-color: var(--theme-border-color);
    color: var(--theme-text-medium);
    margin: 0 2px; /* Sayfalar arasına biraz boşluk */
    border-radius: 0.25rem;
}

.pagination .page-link:hover {
    background-color: var(--theme-bg-light);
    color: var(--theme-text-light);
    border-color: var(--theme-primary);
}

.pagination .page-item.active .page-link {
    background-color: var(--theme-primary);
    border-color: var(--theme-primary);
    color: var(--theme-primary-text);
}

.pagination .page-item.disabled .page-link {
    background-color: var(--theme-bg-medium);
    border-color: var(--theme-border-color);
    color: var(--theme-text-dark);
}

/* Ana Sayfa (Dashboard) Özel Stilleri */
.text-gray-800-dark-theme {
    color: var(--theme-text-light) !important;
}
.text-gray-300-dark-theme {
    color: var(--theme-text-dark) !important;
}

.border-left-primary-custom {
    border-left: .25rem solid var(--theme-primary) !important;
}
.text-primary-custom {
    color: var(--theme-primary) !important;
}
.border-left-success-custom {
    border-left: .25rem solid var(--theme-success) !important;
}
.text-success-custom {
    color: var(--theme-success) !important;
}

.card .card-header.bg-dark-custom-card-header {
    background-color: var(--theme-card-header-bg);
    border-bottom: 1px solid var(--theme-border-color);
}

.btn-outline-light-custom {
    color: var(--theme-text-medium);
    border-color: var(--theme-secondary);
}
.btn-outline-light-custom:hover, 
.btn-outline-light-custom.active {
    color: var(--theme-primary-text);
    background-color: var(--theme-primary);
    border-color: var(--theme-primary);
}

.chart-area {
  position: relative;
  height: 320px; /* Biraz küçülttüm */
  width: 100%;
}

/* Bootstrap focus shadow'unu yeni tema ile uyumlu hale getirme */
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.2rem rgba(var(--theme-primary-rgb, 56, 178, 172), 0.25);
}

/* Genel Utility Sınıfları */
.text-light { color: var(--theme-text-light) !important; }

/* Eski CSS'den kalan ve artık gerekmeyen selectörler temizlenebilir */
html {
  font-size: 14px;
  position: relative;
  min-height: 100%;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

/* Ana içerik alanına padding */
#page-content-wrapper .container-fluid {
    padding: 1.5rem;
}

/* LoginPartial için özel stil (navbar içinde) */
#page-content-wrapper .navbar .navbar-nav .nav-item .nav-link,
#page-content-wrapper .navbar .navbar-nav .nav-item .btn-link {
    color: var(--theme-text-medium) !important;
    font-weight: 500;
}
#page-content-wrapper .navbar .navbar-nav .nav-item .nav-link:hover,
#page-content-wrapper .navbar .navbar-nav .nav-item .btn-link:hover {
    color: var(--theme-text-light) !important;
}
#page-content-wrapper .navbar .navbar-nav .nav-item span.nav-link {
    cursor: default;
}

/* Arama formları için (Örn: Opportunity Index) */
form .bg-light.dark-theme-bg-light-override {
    background-color: var(--theme-bg-medium) !important;
    border: 1px solid var(--theme-border-color);
}