/* ===================== Kokpit - Baskan paneli temasi (Faz 10 revizyonu) =====================
   Tasarim kaynagi: docs/Kokpit Dashboard (Standalone).html - acik zemin, beyaz kartlar,
   lacivert hero bandi, mor gradyan grafik, donut kirilimi, renkli grup baslikli komite tablosu.
   Header (navbar) tasarim disi birakildi (mevcut hali korunur). */
:root {
    --navy: #0C1C36;
    --ink: #0D1B2E;
    --muted: #5B6B82;
    --line: #E2E7F0;
    --green: #0E9F6E;
    --red: #E11D48;
    --amber: #D97706;
    --accent: #2E5BFF;
    --purple: #7C5CFC;
    --teal: #5EEAD4;
    --bg: #EDF0F6;
}

body {
    background: var(--bg);
    color: var(--ink);
    -webkit-text-size-adjust: 100%;
}

/* ---- Navbar (header tasarim disi - mevcut gorunum) ---- */
.kokpit-navbar { background: linear-gradient(120deg, #0f2742, #22507f); padding-top: .6rem; padding-bottom: .6rem; }
.kokpit-navbar .navbar-brand { font-size: 1.15rem; letter-spacing: .3px; }
.kokpit-navbar .nav-link { font-size: .95rem; padding-left: .8rem; padding-right: .8rem; border-radius: 8px; }
.kokpit-navbar .nav-link.active { background: rgba(255,255,255,.16); font-weight: 600; }

/* Canli (auto-refresh) gostergesi */
.kokpit-canli { display: inline-flex; align-items: center; gap: 6px; color: #cfe6ff; font-size: 12px; font-variant-numeric: tabular-nums; }
.kokpit-canli .dot { width: 8px; height: 8px; border-radius: 50%; background: #22C55E; box-shadow: 0 0 0 0 rgba(34,197,94,.6); animation: kk-nabiz 2s infinite; }
@keyframes kk-nabiz { 0% { box-shadow: 0 0 0 0 rgba(34,197,94,.55); } 70% { box-shadow: 0 0 0 7px rgba(34,197,94,0); } 100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); } }

/* ---- Genel kart ---- */
.kk-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 22px 26px;
           margin-bottom: 20px; box-shadow: 0 2px 8px rgba(13,27,46,.05); }
.kk-card-t { font-size: 17px; font-weight: 600; color: var(--ink); display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.kk-card-t small { font-weight: 500; color: var(--muted); font-size: 12.5px; }
.kk-section-h { font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: 1.6px;
                color: var(--muted); margin: 24px 2px 14px; }
.kk-section-h small { font-size: 12.5px; font-weight: 500; color: #8A97AB; letter-spacing: 0; text-transform: none; }

/* ---- Hero (ozet bandi) ---- */
.kk-banner { background: linear-gradient(120deg, #0C1C36 0%, #123061 78%, #1A3E7E 100%); color: #fff;
             border-radius: 20px; padding: 30px 34px; margin-bottom: 20px;
             box-shadow: 0 12px 32px rgba(12,28,54,.25);
             display: flex; justify-content: space-between; align-items: stretch; gap: 28px; flex-wrap: wrap; }
.kk-banner .sol { display: flex; flex-direction: column; gap: 16px; min-width: 0; flex: 1 1 420px; }
.kk-banner .etiket { font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #7FA3E8; }
/* Uc gosterge (Faz 02 / Talep 8): Zimmet - Evrak alindi - Karsida. Evrak tonu, evrak
   grafiklerindeki turuncunun (--amber) lacivert zeminde okunan acik karsiligidir. */
.kk-banner .ana { display: flex; align-items: flex-start; gap: 44px; flex-wrap: wrap; }
.kk-banner .ana .sayi { display: flex; flex-direction: column; gap: 8px; min-width: 148px; }
.kk-banner .ana .sayi b { font-size: clamp(36px, 5.2vw, 56px); font-weight: 800; line-height: 1; font-variant-numeric: tabular-nums; }
.kk-banner .ana .sayi .et { font-size: 15px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }
.kk-banner .ana .zimmet b, .kk-banner .ana .zimmet .et { color: #8FB6FF; }
.kk-banner .ana .evrak b, .kk-banner .ana .evrak .et { color: #FFB259; }
.kk-banner .ana .karsi b, .kk-banner .ana .karsi .et { color: #FF6B85; }
.kk-banner .ana .oran-mini { display: flex; flex-direction: column; gap: 5px; margin-top: 2px; }
.kk-banner .ana .oran-mini .ray { width: 148px; height: 6px; border-radius: 999px; background: rgba(255,255,255,.14); overflow: hidden; }
.kk-banner .ana .oran-mini .ray i { display: block; height: 100%; border-radius: 999px; background: #8FB6FF; }
.kk-banner .ana .evrak .oran-mini .ray i { background: #FFB259; }
.kk-banner .ana .oran-mini .mt { font-size: 12.5px; font-weight: 600; color: #9DB2D4; }
.kk-banner .kalan { flex-shrink: 0; display: flex; flex-direction: column; justify-content: center; align-items: center;
                    gap: 6px; padding: 20px 34px; border-radius: 16px; background: rgba(255,255,255,.06);
                    border: 1px solid rgba(255,255,255,.12); text-align: center; }
.kk-banner .kalan .l { font-size: 11.5px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #7FA3E8; }
.kk-banner .kalan .v { display: flex; align-items: baseline; gap: 8px; }
.kk-banner .kalan .v b { font-size: 54px; font-weight: 800; line-height: 1; color: #fff; font-variant-numeric: tabular-nums; }
.kk-banner .kalan .v span { font-size: 20px; font-weight: 600; color: #9DB2D4; }
.kk-banner .kalan .t { font-size: 13px; color: #9DB2D4; font-weight: 500; }

/* ---- Grafik + donut izgarasi ---- */
.grafik-izgara { display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(320px, 1fr); gap: 20px; margin-bottom: 20px; }
@media (max-width: 991.98px) { .grafik-izgara { grid-template-columns: 1fr; } }
.grafik-izgara .kk-card { margin-bottom: 0; }

/* ---- Son 7 gun belge trendi ---- */
.trend7 .ust { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; }
.trend7 .kart-alt { font-size: 13px; color: var(--muted); margin-top: 3px; }
.trend7 .kart-alt strong { color: var(--ink); }
.trend7 .ort { font-size: 12px; font-weight: 600; color: var(--purple); background: #F1EEFF;
               padding: 5px 12px; border-radius: 999px; white-space: nowrap; }
.trend7 .bars { display: grid; grid-template-columns: repeat(7, 1fr); gap: 14px; align-items: end; height: 196px; }
.trend7 .col { display: flex; flex-direction: column; align-items: center; gap: 6px; height: 100%; justify-content: flex-end; }
.trend7 .cn { font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; color: var(--ink); }
.trend7 .cb { width: 100%; max-width: 52px; border-radius: 8px 8px 4px 4px;
              max-height: calc(100% - 50px);
              background: linear-gradient(180deg, #7C5CFC, #5B7BFA); }
.trend7 .cb.sifir { background: #D5DCE8; border-radius: 2px; }
.trend7 .cd { font-size: 12px; color: var(--muted); font-weight: 500; white-space: nowrap; }
.trend7 .col.bugun .cn { color: var(--purple); }
.trend7 .col.bugun .cb:not(.sifir) { background: linear-gradient(180deg, #8B5CF6, #4F6EF7); box-shadow: 0 4px 14px rgba(124,92,252,.35); }
.trend7 .col.bugun .cd { color: var(--ink); font-weight: 700; }

/* ---- Evrak onay durumu donut'u ---- */
.donut-kart { display: flex; flex-direction: column; }
.donut-kart .kart-alt { font-size: 12.5px; color: var(--muted); margin-top: 3px; }
.donut-govde { display: flex; align-items: center; gap: 26px; flex: 1; margin-top: 18px; flex-wrap: wrap; }
.donut { position: relative; width: 148px; height: 148px; flex-shrink: 0; border-radius: 50%; }
.donut-ic { position: absolute; inset: 22px; border-radius: 50%; background: #fff; display: grid; place-items: center; text-align: center; }
.donut-ic .dv { font-weight: 700; font-size: 30px; line-height: 1; font-variant-numeric: tabular-nums; }
.donut-ic .dl { font-size: 11.5px; color: var(--muted); font-weight: 600; margin-top: 3px; }
.donut-lejant { display: flex; flex-direction: column; gap: 12px; flex: 1; min-width: 180px; }
.donut-lejant .satir { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.donut-lejant .ad { display: flex; align-items: center; gap: 9px; font-size: 13.5px; font-weight: 500; color: #334155; }
.donut-lejant .kutu { width: 11px; height: 11px; border-radius: 3.5px; display: inline-block; flex-shrink: 0; }
.donut-lejant .adet { font-weight: 700; font-size: 15px; font-variant-numeric: tabular-nums; }
.donut-lejant .adet small { font-size: 11.5px; font-weight: 600; color: var(--muted); }
/* Faz 02: adedi 0 olan durum satiri gizlenmez, sonuk gosterilir */
.donut-lejant .satir.sonuk .ad { color: #94A3B8; }
.donut-lejant .satir.sonuk .kutu { opacity: .35; }

/* ---- KPI kartlari ---- */
.kpi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); gap: 14px; margin-bottom: 14px; }
.kpi { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 18px 20px;
       display: flex; flex-direction: column; gap: 10px; box-shadow: 0 2px 8px rgba(13,27,46,.04); }
.kpi .ikn { width: 34px; height: 34px; border-radius: 10px; background: #EDEFF5; display: grid; place-items: center; }
.kpi .v { font-size: 30px; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; color: var(--ink); }
.kpi .l { font-size: 13px; font-weight: 600; color: #334155; }
.kpi .l span { color: var(--muted); font-weight: 500; }
.kpi .e { font-size: 12px; color: var(--muted); margin-top: -4px; line-height: 1.45; }
.kpi.green .v { color: var(--green); }   .kpi.green .ikn { background: #DFF5EC; }
.kpi.red .v { color: var(--red); }       .kpi.red .ikn { background: #FDE7EC; }
.kpi.amber .v { color: var(--amber); }   .kpi.amber .ikn { background: #FFF3E0; }
.kpi.purple .v { color: var(--purple); } .kpi.purple .ikn { background: #EDEAFF; }
.kpi.blue .v { color: var(--accent); }   .kpi.blue .ikn { background: #E8EEFF; }
.kpi.gray .v { color: #334155; }
/* Zimmet kapsama cubugu (kpi ici) */
.kpi .kapsama { display: flex; align-items: center; gap: 8px; margin-top: -2px; }
.kpi .kapsama .ray { flex: 1; height: 5px; border-radius: 3px; background: #EDEFF5; overflow: hidden; }
.kpi .kapsama .ray i { display: block; height: 5px; border-radius: 3px; background: var(--purple); }
.kpi .kapsama b { font-size: 12px; font-weight: 700; color: var(--purple); }
/* Yedili KPI izgarasi (komite detay blok 1): 7 kart genis ekranda tek satira sigar */
.kpi-grid.yedili { grid-template-columns: repeat(auto-fit, minmax(146px, 1fr)); }
.kpi-grid.yedili .kpi { padding: 16px 14px; gap: 8px; }
@media (min-width: 1200px) { .kpi-grid.yedili { grid-template-columns: repeat(7, minmax(0, 1fr)); } }
/* Besli KPI izgarasi (ana ekran blok 5): 5 kart genis ekranda tek satira sigar */
.kpi-grid.besli { grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); }
@media (min-width: 1200px) { .kpi-grid.besli { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
/* Kapsama cubugu rengi kartin rengini izler (varsayilan mor) */
.kpi.blue .kapsama .ray i { background: var(--accent); }  .kpi.blue .kapsama b { color: var(--accent); }
.kpi.green .kapsama .ray i { background: var(--green); }  .kpi.green .kapsama b { color: var(--green); }
.kpi.amber .kapsama .ray i { background: var(--amber); }  .kpi.amber .kapsama b { color: var(--amber); }
.kpi.red .kapsama .ray i { background: var(--red); }      .kpi.red .kapsama b { color: var(--red); }
.kpi.gray .kapsama .ray i { background: #5B6B82; }        .kpi.gray .kapsama b { color: #5B6B82; }
/* Kart alti kurum durumu kirilimi (faal + aski turleri) */
.kpi .krl { display: grid; gap: 3px; margin-top: 4px; padding-top: 8px; border-top: 1px dashed var(--line);
            font-size: 11.5px; color: var(--muted); }
.kpi .krl div { display: flex; justify-content: space-between; gap: 8px; }
.kpi .krl b { font-weight: 600; color: #334155; font-variant-numeric: tabular-nums; }

/* ---- Zimmet alanlar detayi (tab'li modal + sayfalama) ---- */
.zf-detay { border: 1px solid var(--line); background: #fff; color: var(--accent); font-size: 12px;
            font-weight: 600; border-radius: 8px; padding: 4px 11px; cursor: pointer; white-space: nowrap; }
.zf-detay:hover { background: #E8EEFF; border-color: #C7D5F8; }
a.zf-ac { color: inherit; text-decoration: none; border-bottom: 1px dashed currentColor; cursor: pointer; }
a.zf-ac:hover { color: var(--accent); }
.zf-grup { font-size: 12px; color: var(--muted); margin-top: 2px; }
.zf-tabs { display: flex; gap: 4px; flex-wrap: wrap; padding: 10px 16px 0; border-bottom: 1px solid var(--line); }
.zf-tab { border: none; background: none; font-size: 13px; font-weight: 600; color: var(--muted);
          padding: 8px 12px; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.zf-tab span { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 9px;
               background: #EDEFF5; font-size: 11.5px; font-variant-numeric: tabular-nums; }
.zf-tab.aktif { color: var(--accent); border-bottom-color: var(--accent); }
.zf-tab.aktif span { background: #E8EEFF; }
.zf-tab:disabled { color: #C3CBD9; cursor: default; }
/* Evrak durum filtrelerini saha durum filtrelerinden ayiran ince dikey cizgi. */
.zf-tab-ayrac { margin-left: 10px; padding-left: 14px; border-left: 1px solid var(--line); }
.zf-ozet { font-size: 12.5px; color: var(--muted); margin-bottom: 8px; }
.zf-bos { padding: 26px 12px; text-align: center; color: var(--muted); font-size: 13.5px; }
.zf-tablo { width: 100%; }
.zf-durum { font-size: 12px; font-weight: 600; white-space: nowrap; }
.zf-durum.yesil { color: var(--green); }  .zf-durum.kirmizi { color: var(--red); }
.zf-durum.mavi { color: var(--accent); }  .zf-durum.gri { color: var(--muted); }
.zf-firma .unvan { display: block; font-weight: 600; color: var(--ink); }
.zf-firma .zf-meta { display: block; font-size: 11.5px; color: var(--muted); margin-top: 2px; }
.zf-firma-ekler { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 5px; }
.zf-rozet-btn { border: 1px solid var(--line); background: #F7F8FB; color: #334155; font-size: 11.5px;
                font-weight: 600; border-radius: 999px; padding: 2px 9px; cursor: pointer; white-space: nowrap; }
.zf-rozet-btn:hover { background: #E8EEFF; border-color: #C7D5F8; color: var(--accent); }
.zf-rozet-btn b { display: inline-block; margin-left: 5px; padding: 0 6px; border-radius: 8px;
                  background: var(--accent); color: #fff; font-size: 10.5px; }
.zf-yetkili-hucre { max-width: 240px; }
.zf-yetkili-hucre .zf-rozet-btn { margin: 1px 3px 1px 0; white-space: normal; text-align: left; }
.zf-yetkili-ad { display: inline-block; font-size: 12px; color: #334155; margin: 1px 3px 1px 0; }
.zf-tel { color: var(--muted); font-weight: 400; }
.zf-yetki { color: var(--muted); font-weight: 500; font-style: italic; font-size: 11px; }
.zf-uye { display: inline-block; font-size: 11.5px; font-weight: 700; border-radius: 6px;
          padding: 2px 7px; margin: 1px 3px 1px 0; background: #EDEFF5; color: #475569; }
.zf-uye.faal { background: #DFF5EC; color: var(--green); }
.zf-uye.askida { background: #FFF3E0; color: var(--amber); }
.zf-rozet { display: inline-block; font-size: 11.5px; font-weight: 700; border-radius: 6px;
            padding: 2px 7px; white-space: nowrap; background: #EDEFF5; color: #475569; }
.zf-rozet.mavi { background: #E8EEFF; color: var(--accent); }
.zf-rozet.sari { background: #FFF3E0; color: var(--amber); }
.zf-rozet.mor { background: #EDEAFF; color: var(--purple); }
.zf-rozet.yesil { background: #DFF5EC; color: var(--green); }
.zf-rozet.kirmizi { background: #FDE7EC; color: var(--red); }
.zf-ziyaret { white-space: nowrap; }
.zf-alt-bas { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.zf-alt-bas span { font-size: 13px; font-weight: 600; color: #334155; }
.zf-geri { border: 1px solid var(--line); background: #fff; border-radius: 8px; padding: 4px 12px;
           font-size: 12.5px; font-weight: 600; color: var(--accent); cursor: pointer; white-space: nowrap; }
.zf-geri:hover { background: #E8EEFF; }
.zf-not-bolum { margin-bottom: 16px; }
.zf-not-baslik { font-size: 12.5px; font-weight: 700; color: #334155; text-transform: uppercase;
                 letter-spacing: .4px; margin-bottom: 8px; }
.zf-not-baslik span { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 9px;
                      background: #EDEFF5; font-size: 11.5px; }
.zf-not-kart { border: 1px solid var(--line); border-radius: 10px; padding: 10px 14px; margin-bottom: 8px;
               background: #FBFCFE; }
.zf-not-kart .metin { font-size: 13px; color: var(--ink); white-space: pre-wrap; }
.zf-not-kart .alt { font-size: 11.5px; color: var(--muted); margin-top: 5px; }
.zf-pager { display: flex; align-items: center; justify-content: center; gap: 14px; padding-top: 12px; }
.zf-sayfa { border: 1px solid var(--line); background: #fff; border-radius: 8px; padding: 5px 13px;
            font-size: 12.5px; font-weight: 600; color: #334155; cursor: pointer; }
.zf-sayfa:hover:not(:disabled) { background: #F3F5FA; }
.zf-sayfa:disabled { color: #C3CBD9; cursor: default; }
.zf-sayfa-no { font-size: 12.5px; color: var(--muted); font-variant-numeric: tabular-nums; }
a.zf-sayfa { text-decoration: none; }

/* Firma Ara: zimmet sahibi rozeti; evragi teslim eden ayri renk vurgusu. */
.zf-sahip { display: inline-block; font-size: 11.5px; font-weight: 600; border-radius: 6px;
            padding: 2px 8px; margin: 1px 3px 1px 0; background: #EDEFF5; color: #334155; }
.zf-sahip.evrak-sahibi { background: #fff4d6; color: #946a00; border: 1px solid #f0d795; }
.zf-sahip .zf-sahip-im { margin-left: 3px; font-size: 11px; }

/* Zimmet detay modali: dar ekranda tablo govde icinde yatay kaydirilir, ezilmez. */
#zfModal .modal-body { overflow-x: auto; }
#zfModal .kk-tablo { min-width: 720px; }
/* Tablet araliginda Bootstrap'in 500px'lik varsayilan dialog genisligi bu tabloya dar kalir. */
@media (min-width: 576px) and (max-width: 991.98px) {
    #zfModal .modal-dialog { max-width: calc(100vw - 32px); }
}

/* ---- Zimmet dagilimi bandi ---- */
.dagilim { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 18px 24px;
           margin-bottom: 14px; box-shadow: 0 2px 8px rgba(13,27,46,.04); }
.dagilim .ust { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; flex-wrap: wrap; gap: 8px; }
.dagilim .baslik { font-size: 13.5px; font-weight: 700; color: #334155; }
.dagilim .baslik span { color: var(--muted); font-weight: 500; }
.dagilim .lejant { display: flex; gap: 20px; font-size: 12.5px; font-weight: 600; flex-wrap: wrap; }
.dagilim .lejant .z { display: flex; align-items: center; gap: 7px; color: var(--purple); }
.dagilim .lejant .b { display: flex; align-items: center; gap: 7px; color: #B45309; }
.dagilim .lejant i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.dagilim .lejant .z i { background: var(--purple); }
.dagilim .lejant .b i { background: #F5B84B; }
.dagilim .bar { display: flex; height: 14px; border-radius: 7px; overflow: hidden; gap: 2px; }

/* Kurum durumu paleti (kpi tonlariyla ayni): faal / borc / vd / borcvd / belirsiz */
.dagilim .faal     { --dc: #0E9F6E; }
.dagilim .borc     { --dc: #D97706; }
.dagilim .vd       { --dc: #2E5BFF; }
.dagilim .borcvd   { --dc: #E11D48; }
.dagilim .belirsiz { --dc: #94A3B8; }

/* Kurum durumu lejanti */
.dagilim .lejant.durum { gap: 16px; }
.dagilim .lejant.durum .d { display: flex; align-items: center; gap: 6px; color: #475569; }
.dagilim .lejant.durum .d i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; background: var(--dc); }

/* Zimmetli / bosta serileri (her biri kurum durumuna gore stack) */
.dagilim .seri { margin-top: 12px; }
.dagilim .seri-bas { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 5px; font-size: 12.5px; }
.dagilim .seri-bas .ad { font-weight: 700; }
.dagilim .seri-bas .ad.z { color: var(--purple); }
.dagilim .seri-bas .ad.b { color: #B45309; }
.dagilim .seri-bas .ad.bizde { color: #0E9F6E; }
.dagilim .seri-bas .ad.karsida { color: #E11D48; }
.dagilim .seri-bas .sy { color: var(--muted); font-weight: 600; }
.dagilim .seri-bas .sy b { color: #334155; }
.dagilim .seri .bar .seg { background: var(--dc); }
.dagilim .seri .bar .seg:first-child { border-radius: 7px 0 0 7px; }
.dagilim .seri .bar .seg:last-child { border-radius: 0 7px 7px 0; }
.dagilim .seri .bar .seg:only-child { border-radius: 7px; }

/* Sayi tablosu */
.dagilim-tbl { width: 100%; margin-top: 16px; border-collapse: collapse; font-size: 12.5px; }
.dagilim-tbl th, .dagilim-tbl td { padding: 6px 10px; text-align: left; border-top: 1px solid var(--line); }
.dagilim-tbl thead th { color: var(--muted); font-weight: 600; border-top: 0; }
.dagilim-tbl .num { text-align: right; font-variant-numeric: tabular-nums; }
.dagilim-tbl .num.t { font-weight: 700; color: #334155; }
.dagilim-tbl tfoot td { font-weight: 700; color: #334155; border-top: 2px solid var(--line); }
.dagilim-tbl .nokta { width: 9px; height: 9px; border-radius: 3px; display: inline-block; margin-right: 7px; background: var(--dc); vertical-align: middle; }
/* Faz 02: adedi 0 olan durum satiri gizlenmez, sonuk gosterilir */
.dagilim-tbl tr.sonuk td { color: #94A3B8; }
.dagilim-tbl tr.sonuk .nokta { opacity: .35; }

/* ---- Tablo (genel: zimmet alanlar vb.) ---- */
.kk-tablo-kart { padding: 0; overflow: hidden; }
/* Komiteler tablosu: kendi kabinda dikey kaydirilir ki iki satirli baslik ekranda yapisik kalsin. */
.komite-tablo-kaydir { overflow: auto; max-height: calc(100vh - 120px); }
.kk-tablo { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 13.5px; margin: 0; }
.kk-tablo thead th { position: sticky; top: 0; background: #fff; color: var(--muted); font-size: 11px; font-weight: 700;
                     text-transform: uppercase; letter-spacing: .8px; text-align: left; white-space: nowrap;
                     padding: 12px 16px; border-bottom: 2px solid #D7DEE9; }
.kk-tablo thead th.num { text-align: right; }
.kk-tablo tbody td { padding: 13px 16px; border-bottom: 1px solid #EBEFF5; vertical-align: middle; }
/* Tek satirlik toplam satiri (Zimmet Durum vb.): govde dolgusuyla ayni + belirgin ust cizgi.
   Komiteler tablosunun kendi tfoot tasarimi (koyu bant) asagida bu kurallari ezer. */
.kk-tablo tfoot td { padding: 13px 16px; border-top: 2px solid #D7DEE9; vertical-align: middle; }
.kk-tablo tbody tr:last-child td { border-bottom: 0; }
.kk-tablo tbody tr:hover { background: #F5F8FF; }
.kk-tablo .unvan { font-weight: 600; color: #1E2C42; }
.kk-tablo .num { font-variant-numeric: tabular-nums; white-space: nowrap; text-align: right; }
.kk-tablo .ikincil { color: #8A97AB; }
.kk-tablo .num.iyi { color: var(--green); font-weight: 700; }
.kk-tablo .num.kotu { color: var(--red); font-weight: 700; }
.kk-tablo .num .ikincil { color: #94A3B8; font-weight: 400; }
/* Saha uyesi altindaki kucuk grup metni (ayri kolon yerine) */
.kk-tablo .zimmet-grup { display: block; margin-top: 2px; font-size: 10.5px; font-weight: 400;
                         color: #94A3B8; line-height: 1.25; white-space: normal; }
/* Zimmet alanlar tablosu cok kolonlu: dar padding + kucuk yazi ile ekrana sigdirilir. */
.kk-tablo-kompakt { font-size: 12.5px; }
.kk-tablo-kompakt thead th { padding: 9px 8px; letter-spacing: .3px; }
.kk-tablo-kompakt tbody td { padding: 8px 8px; }
.kk-tablo-kompakt tfoot td { padding: 9px 8px; }
.kk-tablo-kompakt .zimmet-grup { font-size: 10px; }
/* Zimmet alanlar tablosu kendi kabinda kaydirilir; boylece sticky baslik satiri
   asagi kaydirinca ekranda kalir (sayfa degil tablo kaydigi icin sticky calisir). */
.zimmet-tablo-kaydir { overflow: auto; max-height: calc(100vh - 160px); }
.zimmet-tablo-kaydir .kk-tablo thead th { z-index: 3; }

/* 19.08 Faz 01 (Madde 9): Zimmet Alanlar basliklari tiklanabilir - artan/azalan siralama.
   Ok isareti yalnizca aktif kolonda gorunur; siralanmamis baslik sade kalir. */
.kk-tablo thead th.sirala { cursor: pointer; user-select: none; }
.kk-tablo thead th.sirala:hover { color: var(--accent); }
.kk-tablo thead th.sira-artan::after  { content: " \2191"; font-weight: 700; }
.kk-tablo thead th.sira-azalan::after { content: " \2193"; font-weight: 700; }
.kk-tablo thead th.sira-artan, .kk-tablo thead th.sira-azalan { color: var(--accent); }

/* Zimmet alanlar: sutun GRUP zeminleri Komiteler tablosuyla birebir ayni. Saha durum
   kolonlari (Zimmet/Bizde/Karsida/Bekleyen/Gidilen) mor "Zimmet" bandi; evrak kolonlari
   (Evrak toplam + evrak durumlari) yesil "Evrak" bandi. Kolon ici ayrimi Komiteler'deki
   gibi metin rengi (.iyi/.kotu/.mor) verir; zemin tek grup rengidir. */
.kk-tablo .col-zimmet, .kk-tablo .col-bizde, .kk-tablo .col-karsida,
.kk-tablo .col-bekleyen, .kk-tablo .col-gidilen { background: #F7F3FF; }   /* mor grup - govde */
.kk-tablo .col-evrak-toplam,
.kk-tablo .col-ev-mavi, .kk-tablo .col-ev-sari, .kk-tablo .col-ev-mor,
.kk-tablo .col-ev-yesil, .kk-tablo .col-ev-kirmizi, .kk-tablo .col-ev-gri { background: #F1FAF6; }   /* yesil grup - govde */
/* Baslik hucreleri: grup bandinin biraz daha koyu tonu (Komiteler ile ayni) */
.kk-tablo thead th.col-zimmet, .kk-tablo thead th.col-bizde, .kk-tablo thead th.col-karsida,
.kk-tablo thead th.col-bekleyen, .kk-tablo thead th.col-gidilen { background: #F0EAFF; }
.kk-tablo thead th.col-evrak-toplam,
.kk-tablo thead th.col-ev-mavi, .kk-tablo thead th.col-ev-sari, .kk-tablo thead th.col-ev-mor,
.kk-tablo thead th.col-ev-yesil, .kk-tablo thead th.col-ev-kirmizi, .kk-tablo thead th.col-ev-gri { background: #E2F5EC; }
/* Satir hover'i grup zeminini bastirmasin (Komiteler ile ayni hover tonlari) */
.kk-tablo tbody tr:hover td.col-zimmet, .kk-tablo tbody tr:hover td.col-bizde,
.kk-tablo tbody tr:hover td.col-karsida, .kk-tablo tbody tr:hover td.col-bekleyen,
.kk-tablo tbody tr:hover td.col-gidilen { background: #EBE1FF; }
.kk-tablo tbody tr:hover td.col-evrak-toplam,
.kk-tablo tbody tr:hover td.col-ev-mavi, .kk-tablo tbody tr:hover td.col-ev-sari,
.kk-tablo tbody tr:hover td.col-ev-mor, .kk-tablo tbody tr:hover td.col-ev-yesil,
.kk-tablo tbody tr:hover td.col-ev-kirmizi, .kk-tablo tbody tr:hover td.col-ev-gri { background: #DEF2E8; }

/* ---- Komiteler filtre çubuğu (Faz 03): komite + sektör çoklu seçim ---- */
.kf-bar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 14px; margin-bottom: 12px; }
.kf-baslik { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .8px; color: var(--muted); }
.kf-menu { min-width: 19rem; }
.kf-liste { max-height: 16rem; overflow: auto; }
.kf-secenek { cursor: pointer; }
.kf-secenek span { white-space: normal; font-size: 12.5px; line-height: 1.3; }
.kf-rozet { font-size: 10px; vertical-align: text-top; }
.kf-ozet { font-size: 12.5px; font-weight: 600; color: var(--muted); margin-left: auto; }
/* Ad görünürlüğü anahtarı: Liste filtresinin hemen yanında, ince ayraçla; kapalıyken bantta
   yalnızca no + sektör kalır. */
.kf-adgoster { display: flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600;
               color: var(--muted); cursor: pointer; margin: 0; white-space: nowrap;
               border-left: 1px solid var(--line); padding-left: 12px; }
.komite-tablo.ad-gizli .komite-link { display: none; }

/* 19.08 Faz 06: oransal süzme (kolon + operatör + değer) - üç kontrol tek blok gibi durur. */
.kf-oran { display: flex; align-items: center; gap: 6px; border-left: 1px solid var(--line); padding-left: 12px; }
.kf-oran select, .kf-oran input { width: auto; font-size: 12.5px; }
.kf-oran #kfOranKolon { max-width: 16rem; }
.kf-oran #kfOranOp { max-width: 8.5rem; }
.kf-oran #kfOranDeger { max-width: 6.5rem; }

/* Yeni kolonlarda hücre kırılımı: değerin tıklanabilir olduğu noktalı alt çizgiyle belli edilir
   (komite detayındaki hücre linkleriyle aynı görünüm). */
a.kf-ac { color: inherit; text-decoration: none; border-bottom: 1px dashed currentColor; cursor: pointer; }
a.kf-ac:hover { color: var(--accent); }
/* Kırılım penceresinin başlık şeridi: çıktı butonları + kapat aynı hizada. */
.kf-cikti { display: flex; align-items: center; gap: 6px; }

/* ---- Iki satirli baslik (grup bandi + kolon adlari) ---- */
/* Komiteler ve Zimmet Durum tablolari kullanir: ust grup satiri en ustte, kolon adi satiri hemen
   altinda yapisik kalir. Kolon adi satirinin ofseti "ust-grup VARSA" kuralina baglidir; tek satirli
   baslik kullanan diger kk-tablo'lar etkilenmez. */
.kk-tablo thead tr.ust-grup th { top: 0; z-index: 3; background: #fff;
                                 border-bottom: 1px solid var(--line); padding: 0 2px; }
.kk-tablo thead tr.ust-grup ~ tr th { top: 32px; z-index: 2; }
.kk-tablo thead tr.ust-grup th .grp { display: block; text-align: center; padding: 11px 0 9px; font-size: 11px;
                                      font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; }
.kk-tablo thead tr.ust-grup th .grp.secmen { color: var(--accent); background: #D6E4FF; }
.kk-tablo thead tr.ust-grup th .grp.uyelik { color: var(--accent); background: #D6E4FF; }
.kk-tablo thead tr.ust-grup th .grp.zimmet { color: var(--purple); background: #E5DBFF; }
.kk-tablo thead tr.ust-grup th .grp.evrak  { color: var(--green);  background: #D2EEE0; }
/* 19.08 Faz 05: "Evrak Oranlari" grubu (oran + borc + KOBI) - kehribar bant. */
.kk-tablo thead tr.ust-grup th .grp.oran   { color: #9A5B00;         background: #FBE3B8; }

/* Uyelik kirilimi kolon bandi (Faal / Askida / Sahis / Toplam) - Komiteler'deki secmen tonu. */
.kk-tablo .col-uyelik { background: #F4F8FF; }
.kk-tablo thead th.col-uyelik { background: #E9F0FF; }
.kk-tablo tbody tr:hover td.col-uyelik { background: #E4EDFF; }

/* ---- Komite listesi tablosu ---- */

/* Grup rengi kolon bandi olarak govdeye tasinir: baslik (koyu) -> kolon adi satiri (orta) -> govde
   (acik). Kolonlar sabit sirada (19.08 Faz 05 ile 24 -> 34: "Evrak Oranlari" grubu eklendi):
   1-6 = Seçmen (4. ve 5. askida borc / askida VD); 7 = Meclis Asil (tekil, bantsiz);
   8-16 = Zimmet (son 4'u uyelik kirilimi); 17-23 = Evrak (son 4'u uyelik kirilimi);
   24-33 = Evrak Oranlari (24-26 oran, 27-31 borc, 32-33 KOBI); 34 = Listeler (bantsiz).
   Komite no + adi + sektörler + not dugmesi bant satirindadir (komite-ad-satir). */
.komite-tablo thead tr:last-of-type th:nth-child(-n+6)  { background: #E9F0FF; }
.komite-tablo thead tr:last-of-type th:nth-child(n+8):nth-child(-n+16) { background: #F0EAFF; }
.komite-tablo thead tr:last-of-type th:nth-child(n+17):nth-child(-n+23) { background: #E2F5EC; }
.komite-tablo thead tr:last-of-type th:nth-child(n+24):nth-child(-n+33) { background: #FBEFD9; }
.komite-tablo tbody tr.komite-satir td:nth-child(-n+6)  { background: #F4F8FF; }
.komite-tablo tbody tr.komite-satir td:nth-child(n+8):nth-child(-n+16) { background: #F7F3FF; }
.komite-tablo tbody tr.komite-satir td:nth-child(n+17):nth-child(-n+23) { background: #F1FAF6; }
.komite-tablo tbody tr.komite-satir td:nth-child(n+24):nth-child(-n+33) { background: #FEF8EE; }

/* Grubun (ad bandi + sayi satiri) uzerine gelince iki satir birlikte koyulasir.
   Bantsiz kolonlar (7 = Meclis Asil, 34 = Listeler) notr hover tonunu alir. */
.komite-grup:hover tr.komite-satir td:nth-child(7),
.komite-grup:hover tr.komite-satir td:nth-child(34),
.komite-grup:hover tr.komite-ad-satir td                        { background: #EDF3FB; }
.komite-grup:hover tr.komite-satir td:nth-child(-n+6)  { background: #E4EDFF; }
.komite-grup:hover tr.komite-satir td:nth-child(n+8):nth-child(-n+16) { background: #EBE1FF; }
.komite-grup:hover tr.komite-satir td:nth-child(n+17):nth-child(-n+23) { background: #DEF2E8; }
.komite-grup:hover tr.komite-satir td:nth-child(n+24):nth-child(-n+33) { background: #FAECD4; }

/* Faz 05 (Madde 2): uyelik kirilimi blogu (Faal / Askida / Sahis / Toplam) ince bir dikey cizgiyle
   ayrilir; kolon zemin rengi korunur, kirilim ayri bir blok gibi okunur. Komiteler tablosunda iki
   grubun sonunda, Zimmet Durum raporunda kirilimin basinda ve evrak durum kolonlarinin basinda. */
.kk-tablo th.kr-bas, .kk-tablo td.kr-bas { border-left: 2px solid #C8D2E2; }

/* 19.08 Faz 01 (Madde 4): Meclis Asıl tekil kolondur - bir gruba ait olmadigi icin bant rengi
   almaz, iki yanindan ince cizgiyle ayrilir (tfoot'un koyu bandi kendi tasarimini korur). */
.komite-tablo thead th.col-meclis, .komite-tablo tbody td.col-meclis {
    border-left: 2px solid #C8D2E2; border-right: 2px solid #C8D2E2; }

/* 19.08 Faz 05: "Evrak Oranlari" grubu kendi icinde uc bloktur (oran / borc / KOBI). Blok
   baslangiclarina ince dikey cizgi konur; kolon zemini tek grup rengi olarak kalir. */
.komite-tablo th.or-bas, .komite-tablo td.or-bas,
.komite-tablo th.or-para, .komite-tablo td.or-para,
.komite-tablo th.or-kobi, .komite-tablo td.or-kobi { border-left: 2px solid #E2CDA4; }
/* Borc tutarlari milyonlu okunabilsin diye bes para kolonu (27-31) biraz genis tutulur. */
.komite-tablo thead tr:last-of-type th:nth-child(n+27):nth-child(-n+31),
.komite-tablo tbody tr.komite-satir td:nth-child(n+27):nth-child(-n+31) { min-width: 78px; }

/* Sektör etiketi (Faz 03): komiteye atanan sektörler, ad bandinda cip olarak gorunur */
.sektor-cip { display: inline-block; font-size: 11px; font-weight: 600; color: #3B4B63; background: #EEF1F6;
              border: 1px solid #DFE5EE; border-radius: 6px; padding: 2px 7px; margin: 1px 3px 1px 0; white-space: nowrap; }
/* Listeler kolonu (Faz 04): komitedeki rakip listelerin renk noktalari; ad hover'da (title).
   4 nokta yan yana tasmadan sigar; metin yazilmaz. */
.komite-tablo .liste-hucre { white-space: nowrap; min-width: 70px; }
.liste-nokta { display: inline-block; width: 12px; height: 12px; border-radius: 50%;
               border: 1px solid rgba(0,0,0,.18); margin-right: 4px; vertical-align: middle; }
/* Not dugmesi (06.07 Faz 05 / Madde 7.2): gorunur notu olan komitede aktif (dolu sari + rozet).
   27.07 Faz 05: ayri kolonu kaldirildi, komite ad bandinda sektor cipleri yaninda durur - tek
   dugme icin acilan kolon, kirilim sutunlari eklenince tabloyu ekrandan tasiriyordu. */
.komite-hucre .kn-not-btn { flex-shrink: 0; }
.kn-not-btn { border: 1px solid #E3E8EF; background: #F6F8FB; color: #9AA7B4; font-size: 12px;
              line-height: 1; border-radius: 7px; padding: 4px 7px; cursor: pointer; vertical-align: middle; }
.kn-not-btn:disabled { cursor: default; opacity: .55; }
.kn-not-btn.var { background: #FFE7AD; border-color: #F0C66A; color: #6A4E00; font-weight: 600; }
.kn-not-btn.var:hover { background: #FFEFCC; }
.kn-rozet { display: inline-block; min-width: 15px; margin-left: 4px; padding: 0 4px;
            font-size: 10.5px; font-weight: 700; line-height: 15px; text-align: center;
            color: #fff; background: #D98E00; border-radius: 8px; }
/* Komite detayi not tablosu: cok satirli aciklama oldugu gibi gorunsun. */
.kk-tablo .kn-metin { white-space: pre-wrap; min-width: 220px; }
.komite-grup tr { cursor: pointer; }
.komite-satir td { font-variant-numeric: tabular-nums; }
.komite-no { flex-shrink: 0; font-weight: 700; font-size: 12px; color: var(--accent); background: #EDF2FF;
             border-radius: 7px; padding: 4px 7px; }
/* 20.08: kolon sayisi cok oldugundan tablo yatay kaydiriliyor; kaydirinca satirin hangi komiteye
   ait oldugu gorunmez oluyordu. Ad bandinin hucresi satirin tamamini kapladigi icin icteki kutuyu
   icerik genisligine cekip sola yapistirmak yeterli: komite no, ad ve sektor cipleri saga
   kaydirirken kabin sol kenarinda asili kalir. Sol bosluk td dolgusuyla ayni (14px), boylece
   kaydirma yokken hicbir sey oynamaz; z-index yapiskan baslik satirlarinin (2-3) altindadir. */
.komite-hucre { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0;
                position: sticky; left: 14px; z-index: 1; width: fit-content; }
/* Toplam bandinin etiketi de ayni sekilde sola yapisir (filtre JS'i metni bu ic kutuya yazar). */
.komite-tablo tfoot tr.tf-etiket .tf-etiket-ic { position: sticky; left: 14px; display: inline-block; }
.komite-link { font-size: 13px; font-weight: 600; color: #1E2C42; line-height: 1.35; text-decoration: none; }
.komite-grup:hover .komite-link { color: var(--accent); }
/* Zimmet kapsama mini cubugu (hucre ici) */
.komite-tablo .mini-bar { height: 4px; background: #EDEFF5; border-radius: 2px; overflow: hidden; margin-top: 4px; min-width: 52px; }
.komite-tablo .mini-bar > i { display: block; height: 100%; background: linear-gradient(90deg, #7C5CFC, #5B7BFA); }
.komite-tablo .num.mor { color: var(--purple); font-weight: 700; }
.komite-tablo tfoot td { background: var(--navy); color: #fff; font-weight: 700;
                         font-variant-numeric: tabular-nums; white-space: nowrap; }
/* Toplam da grup deseninde: etiket bandi + sayilar (etiket kolonda dursa kolonu genisletiyordu). */
.komite-tablo tfoot tr.tf-etiket td { padding: 11px 14px 0; }
.komite-tablo tfoot tr.tf-sayilar td { padding: 3px 7px 12px; }
.komite-tablo tfoot td.num { text-align: right; }
.komite-tablo tfoot td .soluk { color: #B8C6DE; font-weight: 400; font-size: 13px; }
.komite-tablo tfoot td.t-mor { color: #B9A8FF; }
.komite-tablo tfoot td.t-yesil { color: var(--teal); }
.komite-tablo tfoot td.t-kirmizi { color: #FF8FA6; }

/* Cok kolonlu tablo tek ekrana sigsin: bu tabloda yatay dolgular daraltilir (Faz 05'te 21 sayi
   kolonuna cikti; dar ekranda tablo kabi zaten yatay kaydirir). */
.komite-tablo thead th { padding: 11px 7px; letter-spacing: .4px; }
.komite-tablo thead tr:last-of-type th:first-child { padding-left: 14px; }
.komite-tablo tr.komite-satir td:first-child { padding-left: 14px; }
.komite-tablo tr.tf-sayilar td:first-child { padding-left: 14px; }

/* Komite adi bant satiri: tum tabloya yayilir, alttaki sayi satiriyla tek kart gibi okunur. */
.komite-tablo tr.komite-ad-satir td { background: #fff; border-bottom: 0; padding: 9px 14px 2px; }
.komite-tablo tr.komite-satir td { padding: 5px 7px 10px; }
/* Coklu tbody yapisinda genel "son satirda cizgi yok" kurali gruplar arasi ayrimi silmesin. */
.komite-tablo tbody.komite-grup tr.komite-satir td { border-bottom: 1px solid #EBEFF5; }

/* ---- Komite detay basligi ---- */
.komite-baslik { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; margin: 4px 2px 8px; }
.komite-baslik h1 { font-size: 22px; font-weight: 800; color: var(--navy); margin: 0; }
.komite-baslik .geri { font-size: 13px; font-weight: 600; color: var(--accent); text-decoration: none; white-space: nowrap; }
.komite-baslik .geri:hover { text-decoration: underline; }

/* ---- Komite detay: sorumlular seridi ---- */
.sorumlu-serit { display: flex; flex-wrap: wrap; gap: 10px 28px; background: #fff; border: 1px solid var(--line);
                 border-left: 4px solid var(--accent); border-radius: 14px; padding: 14px 20px; margin: 10px 0 8px;
                 box-shadow: 0 2px 8px rgba(13,27,46,.04); }
.sorumlu-serit .sr-blok { min-width: 180px; }
.sorumlu-serit .sr-blok.genis { flex: 1 1 320px; }
.sorumlu-serit .sr-l { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .8px;
                       color: var(--muted); margin-bottom: 3px; }
.sorumlu-serit .sr-v { font-size: 13.5px; font-weight: 600; color: var(--ink); line-height: 1.5; }
.sorumlu-serit .yok { color: #8A97AB; font-weight: 500; font-style: italic; }
.sorumlu-serit .sr-grup { display: inline-block; background: #F2F6FF; border-radius: 8px;
                          padding: 2px 10px; margin: 2px 6px 2px 0; font-weight: 500; }
.sorumlu-serit .sr-grup b { color: var(--accent); margin-right: 4px; }

/* Bos durum */
.kk-bos { color: var(--muted); font-size: 13px; padding: 6px 2px; }

/* Uyari kutusu */
.kk-uyari { background: #FFF8EB; border: 1px solid #F3DCA8; border-left: 4px solid var(--amber); border-radius: 12px;
            padding: 12px 14px; margin-bottom: 16px; display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: #6b4a17; }
.kk-uyari.kirmizi { background: #FFF5F6; border-color: #F6C6CF; border-left-color: var(--red); color: #7a2b2b; }

/* Mobil ince ayar */
@media (max-width: 575.98px) {
    .kk-card { padding: 15px 16px; }

    /* Hero: sayilar yan yana kalir, "secime kalan" kutusu tam genislikte alta iner. */
    .kk-banner { padding: 20px 18px; gap: 14px; }
    .kk-banner .ana { gap: 28px; }
    .kk-banner .kalan { flex: 1 1 100%; padding: 14px 18px; }
    .kk-banner .kalan .v b { font-size: 40px; }

    /* KPI kartlari telefonda tek kolon yerine ikili izgara: sayfa asiri uzamaz. */
    .kpi-grid, .kpi-grid.yedili { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .kpi { padding: 13px 13px; gap: 8px; }
    .kpi .v { font-size: 24px; }

    .dagilim { padding: 14px 14px; }
    .sorumlu-serit { padding: 12px 14px; gap: 8px 20px; }
    .donut-govde { justify-content: center; }

    .kk-tablo { font-size: 12.5px; }
    .kk-tablo thead th, .kk-tablo tbody td { padding: 9px 10px; }
    /* Dar ekranda tablo kabinda yatay kayar; ad bandi tabloyla birlikte hareket eder. */
    .trend7 .bars { gap: 6px; height: 156px; }
    .trend7 .cd { font-size: 10.5px; }
}

/* ===================== Toplanti takvimi (salt-okunur aylik izgara) ===================== */
/* min-width: dar ekranda hucreler ezilmek yerine tablo kabin (.table-responsive) icinde yatay kayar. */
.ajanda-tablo { width: 100%; min-width: 680px; table-layout: fixed; border-collapse: separate; border-spacing: 0; }
.ajanda-tablo thead th { background: var(--navy); color: #fff; font-size: 12px; font-weight: 600;
                         padding: 6px 8px; text-align: left; border: 1px solid var(--line); }
.ajanda-hucre { vertical-align: top; height: 104px; width: 14.28%; padding: 4px;
                border: 1px solid var(--line); background: #fff; }
.ajanda-hucre.ay-disi { background: #f6f8fa; }
.ajanda-hucre.bugun { background: #fff8e6; box-shadow: inset 0 0 0 2px var(--amber); }
.ajanda-gun { display: flex; align-items: center; justify-content: space-between; margin-bottom: 3px; }
.ajanda-gunno { font-size: 12px; font-weight: 700; color: var(--ink); }
.ay-disi .ajanda-gunno { color: #aab4be; }
/* Toplanti pill'i: tiklaninca salt-okunur detay modali acilir. */
.ajanda-pill { display: flex; align-items: center; gap: 4px; width: 100%; text-align: left;
               border: 1px solid #e0e0e0; border-left: 4px solid #6c757d; border-radius: 5px;
               background: #fff; padding: 2px 6px; margin-bottom: 3px; font-size: 11.5px; line-height: 1.35;
               cursor: pointer; }
.ajanda-pill:hover { filter: brightness(0.96); }
.ajanda-pill .ajanda-saat { font-weight: 700; color: var(--navy); white-space: nowrap; }
.ajanda-pill .ajanda-kod { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ajanda-pill .ajanda-katilim { margin-left: auto; flex-shrink: 0; font-size: 10px; font-weight: 700;
                               background: #dde5ec; color: #3d4f61; border-radius: 8px; padding: 0 5px; }
.ajanda-pill.tpl-planli { background: #e6f4ea; }
.ajanda-pill.tpl-tamam  { background: #f3f5f7; color: #5b6b7c; }
.ajanda-pill.tpl-iptal  { background: #fdeaea; text-decoration: line-through; }
/* Faz 10: etkinlik pill'i - toplantilardan ayri tip (mor sol serit + yildiz isareti). */
.ajanda-pill.etk-pill { background: #f4ecfb; border-left-color: #7b3fa9; }
.ajanda-pill.etk-pill.etk-iptal { background: #fdeaea; text-decoration: line-through; }
.etk-isaret { color: #7b3fa9; font-size: 11px; flex-shrink: 0; }

/* --- Takvim / yaklasan sekmeleri --- */
.tk-sekmeler .nav-link { color: #5b6b7c; font-size: 13.5px; font-weight: 600; padding: 7px 16px; }
.tk-sekmeler .nav-link:hover { color: var(--navy); }
.tk-sekmeler .nav-link.active { color: var(--navy); }
.tk-sekme-sayi { display: inline-block; min-width: 20px; text-align: center; margin-left: 4px;
                 font-size: 11px; font-weight: 700; background: var(--navy); color: #fff;
                 border-radius: 10px; padding: 1px 6px; }

/* --- Ay ozet seridi --- */
.tk-ozet { display: flex; flex-wrap: wrap; gap: 8px; }
.tk-chip { display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; color: var(--ink);
           background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 3px 12px; }
.tk-chip b { font-size: 13.5px; }
.tk-chip .tk-oran { font-size: 11px; color: #6c7a89; }
.tk-chip.tk-planli  { background: #e6f4ea; }
.tk-chip.tk-tamam   { background: #f3f5f7; }
.tk-chip.tk-iptal   { background: #fdeaea; }
.tk-chip.tk-katilim { background: #e8f0fb; }
.tk-chip.tk-etkinlik { background: #f4ecfb; }

/* Faz 10: aylik izgara tur gorunurluk anahtarlari (toplanti/etkinlik ac-kapa). */
.tk-filtreler { display: flex; gap: 8px; }
.tk-filtre { display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; font-weight: 600;
             color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 16px;
             padding: 3px 12px; cursor: pointer; }
.tk-filtre:hover { background: #f6f8fa; }
.tk-filtre.kapali { opacity: .45; text-decoration: line-through; }

/* Faz 10: 7 gun alt sekmeleri (toplantilar / etkinlikler). */
.tk-alt-sekmeler { display: flex; gap: 8px; }
.tk-alt-sekme { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600;
                color: #5b6b7c; background: #fff; border: 1px solid var(--line); border-radius: 16px;
                padding: 4px 14px; text-decoration: none; }
.tk-alt-sekme:hover { color: var(--navy); background: #f6f8fa; }
.tk-alt-sekme.on { color: #fff; background: var(--navy); border-color: var(--navy); }
.tk-alt-sekme.on .etk-isaret { color: #d9b8f5; }

/* Faz 10: yaklasan listesindeki etkinlik satiri. */
.tk-yk-satir.tk-yk-etkinlik { border-left: 4px solid #7b3fa9; background: #fdfbff; }
.tk-yk-satir.tk-yk-etkinlik:hover { background: #f4ecfb; }

/* --- Yaklasan toplantilar (onumuzdeki 7 gun) --- */
.tk-yaklasan-liste { display: flex; flex-direction: column; gap: 4px; }
.tk-yk-satir { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left;
               border: 1px solid var(--line); border-radius: 7px; background: #fff;
               padding: 6px 10px; font-size: 12.5px; cursor: pointer; }
.tk-yk-satir:hover { background: #f6f8fa; }
.tk-yk-satir.bugun { background: #fff8e6; border-color: var(--amber); }
.tk-yk-tarih { font-weight: 700; color: var(--ink); white-space: nowrap; min-width: 66px; }
.tk-yk-tarih .tk-yk-gun { font-weight: 400; color: #6c7a89; }
.tk-yk-saat { font-weight: 700; color: var(--navy); white-space: nowrap; min-width: 40px; }
.tk-yk-komite { font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tk-yk-cekirdek { font-weight: 400; color: #6c7a89; margin-left: 6px; }
.tk-yk-cekirdek::before { content: "🧑\200d💼 "; }
.tk-yk-tip { display: inline-flex; align-items: center; gap: 5px; color: #5b6b7c; white-space: nowrap; }
.tk-yk-yer { margin-left: auto; color: #6c7a89; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tip-nokta { display: inline-block; width: 9px; height: 9px; border-radius: 50%;
             background: #6c757d; margin-right: 4px; flex-shrink: 0; }
@media (max-width: 575px) {
    .tk-yk-satir { flex-wrap: wrap; gap: 4px 10px; }
    .tk-yk-yer { margin-left: 0; width: 100%; }
}

/* --- Toplanti detay modali --- */
.tpd-durum { font-size: 11.5px; font-weight: 600; border: 1px solid var(--line); border-radius: 10px;
             padding: 1px 9px; }
.tpd-durum.tpl-planli { background: #e6f4ea; color: #1e7c3a; }
.tpd-durum.tpl-tamam  { background: #f3f5f7; color: #5b6b7c; }
.tpd-durum.tpl-iptal  { background: #fdeaea; color: #b02a37; text-decoration: none; }
.tpd-ust { border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; background: #f9fafb; }
.tpd-satir { display: flex; gap: 10px; font-size: 13px; padding: 2px 0; }
.tpd-etiket { flex-shrink: 0; width: 74px; color: #6c7a89; }
.tpd-cekirdek { font-size: 12.5px; font-weight: 500; color: #5b6b7c; }
.tpd-blok { margin-bottom: 16px; }
.tpd-baslik { font-size: 13px; font-weight: 700; margin-bottom: 6px; }
.tpd-liste { list-style: none; margin: 0; padding: 0; }
.tpd-liste li { display: flex; align-items: baseline; gap: 7px; font-size: 13px; padding: 2px 0; }
.tpd-ikon { flex-shrink: 0; width: 16px; text-align: center; font-weight: 700; }
.tpd-ikon.tpd-var { color: #1e7c3a; }
.tpd-ikon.tpd-yok { color: #b02a37; }
.tpd-ikon.tpd-belirsiz { color: #98a4b0; }
.tpd-rol { margin-left: auto; font-size: 11px; color: #6c7a89; white-space: nowrap; }

/* ==================== Oturumlar ekrani (anlik aktif + giris gecmisi) ==================== */
/* Kart ici baslik: kk-tablo-kart padding'siz oldugu icin baslik kendi bosluklarini tasir. */
.otr-kart-baslik { display: flex; align-items: center; gap: 10px; padding: 18px 26px 12px; }
.otr-kart-baslik + .kk-bos { padding: 0 26px 18px; }
/* Canli nokta: navbar'daki nabiz animasyonunun karti versiyonu. */
.otr-canli-dot { width: 10px; height: 10px; border-radius: 50%; background: #22C55E; flex-shrink: 0;
                 box-shadow: 0 0 0 0 rgba(34,197,94,.6); animation: kk-nabiz 2s infinite; }
/* Panel rozeti: kaynak uygulamaya gore renk (saha yesil, kokpit mavi, admin mor). */
.otr-panel { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 11px;
             font-weight: 700; letter-spacing: .4px; background: #EDEFF5; color: #475569; white-space: nowrap; }
.otr-panel.saha   { background: #DFF5EC; color: #0E9F6E; }
.otr-panel.kokpit { background: #E8EEFF; color: #2E5BFF; }
.otr-panel.admin  { background: #EDEAFF; color: #7C5CFC; }
/* IP kolonu: sabit genislikli rakam hizasi. */
.kk-tablo .otr-ip { font-variant-numeric: tabular-nums; white-space: nowrap; color: #475569; }
/* Bilinmeyen kullanici vurgusu (basarisiz denemeler). */
.kk-tablo .kotu-metin { color: var(--red); font-weight: 700; }
