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;
}
