body {
    background-color: #f4f7fb;
}
.card {
    border: none;
    box-shadow: 0 1px 4px rgba(11,61,145,0.08);
    border-radius: 10px;
}
.navbar-brand-mp {
    background: linear-gradient(135deg, #0b3d91, #1e6fd9) !important;
}
.stat-card {
    border-radius: 14px;
    color: #fff;
    padding: 1.25rem;
    transition: transform .15s ease, box-shadow .15s ease;
    box-shadow: 0 2px 8px rgba(11,61,145,0.12);
}
.stat-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 18px rgba(11,61,145,0.22);
}
.stat-card .stat-icon {
    font-size: 1.4rem;
    opacity: 0.85;
}

/* Üst navigasyon şeridi: saf beyaz yerine, mavi temaya uyumlu, okunaklı
   yumuşak bir ton kullanılır (bkz. talep: "beyaz yazılar okunmuyor"). */
.navbar-brand-mp .navbar-brand {
    color: #ffffff !important;
}
.navbar-brand-mp .nav-link {
    color: #dbe7f9 !important;
    transition: color .15s ease;
}
.navbar-brand-mp .nav-link:hover,
.navbar-brand-mp .nav-link:focus {
    color: #ffffff !important;
}
.navbar-brand-mp .nav-soft-text {
    color: #b7cbe8 !important;
}
.navbar-brand-mp .navbar-toggler {
    border-color: rgba(255,255,255,0.4);
}
/* ÖNEMLİ: Yönetici navbar'ında çok sayıda menü öğesi olduğu için, dar
   ekranlarda (ör. dizüstü, 13"-14" laptoplar) satır genişliği yetersiz
   kalıp "Yönetim Paneli" gibi iki kelimelik etiketlerin KELİME ORTASINDAN
   bölünüp iki satıra taşmasına (ve navbar'ın dağınık/kaymış görünmesine)
   yol açıyordu. white-space:nowrap, her etiketin BÜTÜN olarak tek satırda
   kalmasını garanti eder; sığmayan öğeler kelime ortasından değil,
   kendi aralarında (bir sonraki öğeye) sarar. Ayrıca büyük ekranlarda
   (lg) daha sıkı boşluk ve biraz daha küçük yazı tipiyle daha fazla
   öğenin tek satıra sığması sağlanır.
*/
.navbar-brand-mp .nav-link {
    white-space: nowrap;
}
@media (min-width: 992px) {
    .navbar-brand-mp .navbar-nav .nav-link {
        padding-left: 0.55rem;
        padding-right: 0.55rem;
        font-size: 0.92rem;
    }
}
@media (min-width: 992px) and (max-width: 1400px) {
    .navbar-brand-mp .navbar-nav .nav-link {
        padding-left: 0.4rem;
        padding-right: 0.4rem;
        font-size: 0.85rem;
    }
    .navbar-brand-mp .navbar-brand {
        font-size: 1.05rem;
    }
}

/* TEK MENÜ YÜZEYİ: sağdan açılan offcanvas menüdeki bağlantılar - hem
   masaüstünde hem mobilde (web ve telefon uygulamasında) BİREBİR AYNI,
   sade, düz liste görünümündedir; ayrı bir "büyük mavi buton" bloğu
   yoktur (bkz. talep: "Nabardaki her şey sadece buton olarak gözüksün...
   karmaşık değil, sade bir şekilde olsun"). */
.offcanvas-menu-link {
    font-size: 0.98rem;
    padding-top: 0.7rem;
    padding-bottom: 0.7rem;
}
.offcanvas-menu-link i {
    width: 1.25rem;
    text-align: center;
    color: #1e6fd9;
}
.offcanvas-menu-link:hover {
    background-color: #f0f5fc;
}
.offcanvas-menu-subgroup .offcanvas-menu-link {
    padding-left: 2.25rem;
    font-size: 0.92rem;
}
.offcanvas-menu-group-toggle[aria-expanded="true"] .bi-chevron-down {
    transform: rotate(180deg);
}
.offcanvas-menu-group-toggle .bi-chevron-down {
    transition: transform .15s ease;
}

/* DÜZELTME: ekran %100 (veya dar/kısa) çözünürlükte, çok sayıda menü
   öğesi varken sağdaki offcanvas panelin İÇERİĞİ panel yüksekliğini
   aşıyor ve alttaki "Çıkış" butonunu ekranın dışına itiyordu - kullanıcı
   sayfayı küçültmek (zoom-out) zorunda kalıyordu (bkz. talep: "ekranda
   100% görünümde, çıkış butonu gözükmüyor"). Çözüm: yalnızca ORTADAKİ
   bağlantı listesi dikey olarak kaydırılabilir (overflow-y: auto) hale
   getirilir; üstteki başlık ve alttaki dil seçimi/Çıkış butonu bloğu HER
   ZAMAN, her çözünürlükte ve her zoom seviyesinde sabit/görünür kalır.
   min-height: 0, flex konteynerde iç öğenin taşmasını (overflow) mümkün
   kılmak için gereklidir (flex item'lerin doğal min-height:auto
   davranışını geçersiz kılar). */
.offcanvas-body {
    min-height: 0;
}
.offcanvas-body > .list-group.flex-grow-1 {
    overflow-y: auto;
    min-height: 0;
    -webkit-overflow-scrolling: touch;
}
/* Mavi-beyaz ağırlıklı marka paleti (bkz. talep: logo ve panel mavi/beyaz olsun) */
.bg-stat-1 { background: linear-gradient(135deg,#0b3d91,#1e6fd9); }
.bg-stat-2 { background: linear-gradient(135deg,#0f5fb0,#3fa0e8); }
.bg-stat-3 { background: linear-gradient(135deg,#134e8c,#3e7fc9); }
.bg-stat-4 { background: linear-gradient(135deg,#0b3d91,#2f7fd0); }
.bg-stat-5 { background: linear-gradient(135deg,#1a5ba8,#63b3ed); }

table.entry-grid td, table.entry-grid th {
    text-align: center;
    vertical-align: middle;
}
table.entry-grid input[type="text"] {
    width: 70px;
    text-align: center;
}
.signature-pad-wrapper {
    border: 2px dashed #adb5bd;
    border-radius: 8px;
    background: #fff;
}
#signature-canvas {
    width: 100%;
    height: 200px;
    touch-action: none;
    cursor: crosshair;
}
.weekend-col {
    background-color: #fff3e0;
}
.chart-card canvas {
    max-height: 320px;
}

/* Round 28 talep: "filte raporlarındaki değerler tam görünmüyor" - bkz.
   templates/partials/_multi_select_filter.html modül notu. Kaydırılabilir
   seçenek listesi artık HER ZAMAN görünür/belirgin bir kaydırma çubuğuna
   sahip (macOS/iOS gibi "gerekmedikçe gizli" kaydırma çubuğu kullanan
   sistemlerde bile), böylece kullanıcı listenin devamı olduğunu fark
   edebilir. Hem admin/client panel (base.html) hem de herkese açık /ilan
   ve /ilan/global siteleri (jobs/base_public.html) bu dosyayı yüklediği
   için kural burada, TEK yerde tanımlanır. */
.msf-menu {
    max-width: 320px;
}
.msf-menu .msf-scroll-area {
    max-height: 280px;
    overflow-y: scroll;
    /* Firefox: ince ama HER ZAMAN görünür (auto değil) kaydırma çubuğu */
    scrollbar-width: thin;
    scrollbar-color: #0b3d91 #e9ecef;
}
.msf-menu .msf-scroll-area ul {
    margin: 0;
    padding: 0;
}
/* Chrome/Edge/Safari: belirgin, koyu renkli, her zaman görünür kaydırma
   çubuğu (varsayılan ince gri değil) - kullanıcının "liste burada
   bitmiyor, aşağıda daha var" fark etmesi için kasıtlı olarak göz alıcı. */
.msf-menu .msf-scroll-area::-webkit-scrollbar {
    width: 10px;
}
.msf-menu .msf-scroll-area::-webkit-scrollbar-track {
    background: #e9ecef;
    border-radius: 6px;
}
.msf-menu .msf-scroll-area::-webkit-scrollbar-thumb {
    background-color: #0b3d91;
    border-radius: 6px;
    border: 2px solid #e9ecef;
}
.msf-menu .msf-scroll-area::-webkit-scrollbar-thumb:hover {
    background-color: #1e6fd9;
}
.msf-option-row {
    cursor: pointer;
}
.msf-option-row.d-none {
    display: none !important;
}
.msf-search {
    position: sticky;
    top: 0;
}
