body {
    background-color: #f4f6f9;
}

.login-wrapper {
    display: flex;
    align-items: center;      /* yatayda ortala (flex-column ile) */
    justify-content: flex-start; /* dikeyde yukarıdan başla: logo tepede, üstte boşluk yok */
    padding: 10px 20px 12px;
}

.login-card {
    width: 100%;
    max-width: 400px;
}

@media print {
    .no-print {
        display: none !important;
    }
}

.table thead th {
    white-space: nowrap;
}

/* Giriş sayfasının en altındaki iyzico / kart logoları bandı */
.login-iyzico {
    height: 64px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 0 16px;
}
.login-iyzico img {
    max-width: 100%;
    height: auto;
    width: 320px;
}

/* Giriş sayfasında çerçevenin üstündeki logo */
.login-logo {
    width: 98px;
    height: 98px;
    object-fit: cover;
    border-radius: 50%;
    background: #fff;
    margin-bottom: 16px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .12);
}

/* Giriş sayfasındaki dikkat çekici bilgi çerçevesi */
.login-duyuru {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 2px solid #198754;
    border-left-width: 8px;
    border-radius: 10px;
    background: #eaf7ef;
    color: #14532d;
    font-size: .92rem;
    line-height: 1.35;
    box-shadow: 0 2px 8px rgba(25, 135, 84, .18);
}
.login-duyuru-ikon {
    font-size: 2.2rem;
    color: #25d366;
    flex: 0 0 auto;
}

/* Görevli / daire kullanıcısı: başlıkta yalnızca Blok Yönetimi adı (uzun adlar telefonda alt satıra geçebilir) */
.navbar-brand.blok-marka { white-space: normal; font-size: 1rem; max-width: 75vw; line-height: 1.25; }

/* Daire / görevli: Tablolar sayfasında üstteki (aktif) grubun başlık satırı boydan boya canlı renkli */
.table thead.tablo-baslik-aktif {
    --bs-table-bg: transparent;
    --bs-table-accent-bg: transparent;
}
.table thead.tablo-baslik-aktif tr {
    background: linear-gradient(90deg, #146c43 0%, #198754 45%, #20c997 100%);
    box-shadow: 0 3px 10px rgba(25, 135, 84, .35);
}
.table thead.tablo-baslik-aktif th {
    background: transparent;
    box-shadow: none;
    color: #fff;
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: .3px;
    padding-top: .85rem;
    padding-bottom: .85rem;
    border-bottom: 0;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .25);
}

/* Daire / görevli: Tablolar sayfasında Arşiv ayracı — boydan boya çizgi, ortada başlık */
.arsiv-ayrac {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #495057;
    font-size: 1.1rem;
    font-weight: 700;
}
.arsiv-ayrac::before,
.arsiv-ayrac::after {
    content: "";
    flex: 1 1 auto;
    height: 3px;
    border-radius: 2px;
    background: #6c757d;
}
.arsiv-ayrac span { white-space: nowrap; }
@media (max-width: 575.98px) {
    .arsiv-ayrac { font-size: .95rem; gap: 8px; }
    .arsiv-ayrac span { white-space: normal; text-align: center; }
}

/* Tüm sitede küçük, ortalı altbilgi + "keptsoftware.com" gibi ince, silik çerçeveli etiket */
.site-footer {
    text-align: center;
    font-size: .72rem;
    line-height: 1.35;
    padding: .9rem .75rem 1.1rem;
}
.site-footer small { font-size: .72rem; }
.site-footer .btn-link { font-size: inherit; line-height: 1; }
.site-etiket-satiri { margin-top: .5rem; }
.site-etiket {
    display: inline-block;
    padding: 1px 10px;
    border: 1px solid rgba(108, 117, 125, .28);
    border-radius: 999px;
    font-size: .66rem;
    letter-spacing: .02em;
    color: rgba(108, 117, 125, .75);
    text-decoration: none;
}
a.site-etiket:hover { color: #495057; border-color: rgba(108, 117, 125, .55); }

.site-kvkk-satiri a { color: rgba(108, 117, 125, .9); font-size: .7rem; text-decoration: underline; text-decoration-color: rgba(108, 117, 125, .35); }
.site-kvkk-satiri a:hover { color: #495057; }


/* Üst menü (header) yazıları: daha beyaz */
.navbar-dark .navbar-brand,
.navbar-dark .navbar-nav .nav-link,
.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .show > .nav-link { color: #fff; }
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus { color: #fff; opacity: .85; }
.navbar-dark .navbar-nav .nav-link.disabled { color: rgba(255,255,255,.75); }
.navbar-dark .navbar-toggler { border-color: rgba(255,255,255,.7); }

/* Daire değiştirici: başlığın tam ortasında */
.daire-ortala { order: 2; width: 100%; text-align: center; margin: .4rem 0; }
.daire-ortala .dropdown-menu { text-align: left; }
@media (min-width: 992px) {
    .daire-ortala { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: auto; margin: 0; z-index: 1031; }
    .daire-ortala .dropdown-menu { left: 50%; transform: translateX(-50%); }
}

/* Dairem > Güncel dönem: Excel "ödeme takip tablosu" satırı */
.takip-kutu { border: 1px solid #9aa0a6; background: #fff; }
.takip-baslik { text-align: center; font-weight: 700; background: #e9ecef; border-bottom: 1px solid #9aa0a6; padding: .35rem .5rem; }
.takip-tablo { width: 100%; border-collapse: collapse; text-align: center; }
.takip-tablo th, .takip-tablo td { border: 1px solid #9aa0a6; padding: .35rem .4rem; vertical-align: middle; }
.takip-tablo th { font-weight: 700; font-size: .78rem; background: #fff; }
.takip-tablo td { font-size: .95rem; height: 2.6rem; }
.takip-tablo th.takip-toplam, .takip-tablo td.takip-toplam { background: #e9ecef; font-weight: 700; }
@media (max-width: 767.98px) {
    .takip-tablo, .takip-tablo tbody, .takip-tablo tr, .takip-tablo td { display: block; width: 100%; }
    .takip-tablo thead { display: none; }
    .takip-tablo td { display: flex; justify-content: space-between; gap: 1rem; text-align: right; height: auto; border-width: 0 0 1px 0; padding: .45rem .75rem; }
    .takip-tablo td::before { content: attr(data-label); font-weight: 600; font-size: .8rem; text-align: left; color: #495057; }
    .takip-tablo td:empty { display: none; }
}

/* Excel Oku ön inceleme: her Excel sayfası, sayfadaki görünümüne yakın */
.excel-sayfa { border: 1px solid #9aa0a6; background: #fff; }
.excel-sayfa-ust { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; padding: .45rem .75rem; background: #e9ecef; border-bottom: 1px solid #9aa0a6; }
.excel-tablo { width: auto; min-width: 100%; border-collapse: collapse; text-align: center; font-size: .82rem; }
.excel-tablo th, .excel-tablo td { border: 1px solid #b5bac0; padding: .25rem .4rem; vertical-align: middle; white-space: nowrap; }
.excel-tablo td.text-start, .excel-tablo th.excel-sistem { white-space: normal; }
.excel-tablo thead th { background: #fff; font-weight: 700; font-size: .74rem; }
.excel-tablo th.excel-tablo-baslik { background: #e9ecef; font-size: .9rem; text-align: center; }
.excel-tablo th.excel-sistem { background: #f1f3f5; color: #495057; }
.excel-tablo .excel-toplam { background: #e9ecef; font-weight: 700; }
.excel-tablo tr.satir-hata td { background: #f8d7da; }
.excel-tablo-altsatir td { background: #f8f9fa; }

/* Sütun başlıkları Excel'deki gibi alt satıra kayar (çok geniş olmaz) */
.excel-tablo thead th:not(.excel-sistem):not(.excel-tablo-baslik) { white-space: normal; width: 5.8rem; min-width: 4.6rem; max-width: 7.5rem; line-height: 1.15; word-break: normal; overflow-wrap: break-word; }
.excel-tablo thead th:first-child:not(.excel-tablo-baslik) { width: 3.2rem; min-width: 2.8rem; }
.excel-tablo tbody td.excel-toplam, .excel-tablo thead th.excel-toplam { min-width: 5.6rem; }

/* Daireler sayfası: apartman başlık bandı (gruplar arası geçiş belli olsun; renkler dönüşümlü) */
.bina-bandi { color: #fff; padding: .55rem .9rem; margin-bottom: 0; border-radius: .375rem .375rem 0 0; font-weight: 600; }
.bina-bandi-1 { background: #0d4f8b; }
.bina-bandi-0 { background: #0f7b6c; }
