/* ==========================================================================
   ek/butce.css — /butce, /butce/{yıl} (ButceDenetleyici): merkezi yönetim bütçesi. Önek "bt-" ("b-" bakanlık sayfasının).
   Çubuklar sitenin .cubuk'unu kullanır; renk işi yalnız tür ayrımı (harcama soğuk, gelir yeşil, faiz sıcak, açık kırmızı),
   etiket her zaman yazıyla — renk tek başına anlam taşımaz.
   ========================================================================== */
.bt-ust-not { font-size: 11px; letter-spacing: 0.08em; }

.bt-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.bt-satir { padding: 10px 0; border-bottom: 1px solid var(--ayrac); }
.bt-satir:last-child { border-bottom: 0; }
.bt-satir-ust { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 15px; line-height: 1.35; }
.bt-satir-ad { min-width: 0; color: var(--baslik); font-weight: 600; overflow-wrap: anywhere; }
.bt-satir-deger { font-size: 13px; white-space: nowrap; color: var(--soluk); }
.bt-satir-deger b { font-size: 15px; font-weight: 600; }
.bt-satir .cubuk { margin-top: 7px; }
.bt-satir-not { margin: 6px 0 0; font-size: 13px; line-height: 1.5; color: var(--soluk); max-width: 760px; }
.bt-satir-not .mono { font-size: 12px; white-space: nowrap; }

.bt-iki { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }

.bt-acilir > summary { cursor: pointer; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 14px; border: 1px solid var(--kenar-guclu); font-size: 14px; color: var(--metin); list-style: none; }
.bt-acilir > summary::-webkit-details-marker { display: none; }
.bt-acilir > summary::before { content: '+'; font-family: var(--mono); color: var(--soluk); }
.bt-acilir[open] > summary::before { content: '−'; }
.bt-acilir > summary:hover { border-color: var(--soluk); color: var(--baslik); }
.bt-acilir > summary:focus-visible { outline: 2px solid var(--soguk); outline-offset: 2px; }

.bt-tablo .tablo-satir > span:first-child { overflow-wrap: anywhere; }
.bt-hesap .tablo-satir { min-height: 34px; font-size: 13.5px; }
.bt-hesap .tablo-toplam { border-bottom: 1px solid var(--ayrac); }

.bt-metin p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--okuma); max-width: 760px; }
.bt-metin p + p, .bt-metin blockquote + p { margin-top: 12px; }
.bt-alinti { margin: 12px 0; padding: 4px 0 4px 16px; border-left: 3px solid var(--kenar-guclu); font-family: var(--serif); font-size: 16px; line-height: 1.6; color: var(--yumusak); max-width: 760px; }

.bt-adimlar { margin: 0; padding-left: 22px; display: flex; flex-direction: column; gap: 10px; font-size: 15px; line-height: 1.6; color: var(--okuma); max-width: 820px; }
.bt-adimlar li::marker { font-family: var(--mono); color: var(--soluk); }

.bt-takvim { list-style: none; margin: 0; padding: 0; }
.bt-takvim-gun { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 16px; padding: 12px 0; border-top: 1px solid var(--ayrac); }
.bt-takvim-tarih { display: flex; flex-direction: column; gap: 3px; font-size: 13px; }
.bt-takvim-tarih .mono { font-size: 13px; font-weight: 600; }
.bt-takvim-tarih .durum-cip { align-self: flex-start; margin-top: 4px; }
.bt-takvim-kurumlar { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: 14px; line-height: 1.45; color: var(--metin); }
.bt-takvim-not { font-size: 12px; }
.bt-takvim-kapanis { margin-top: 4px; padding-top: 6px; border-top: 1px dashed var(--kenar); font-weight: 600; color: var(--baslik); }
.bt-gecti .bt-takvim-kurumlar { color: var(--soluk); }
.bt-bugun { background: rgba(var(--soguk-rgb), 0.06); box-shadow: inset 3px 0 0 var(--soguk); padding-left: 12px; }

.bt-sozluk { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; margin: 0; }
.bt-sozluk dt { font-weight: 700; font-size: 15px; }
.bt-sozluk dd { margin: 0; font-size: 14px; line-height: 1.55; color: var(--yumusak); }

.bt-kaynaklar { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 8px; font-size: 14px; line-height: 1.5; }

@media (max-width: 860px) {
  .bt-iki { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .bt-satir-ust { flex-direction: column; align-items: flex-start; gap: 2px; }
  .bt-takvim-gun { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .bt-takvim-tarih { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 8px; }
}

/* Telefonda tablolar yığılır: ilk hücre (ad) tam satır, değerler iki sütun; her değerin üstünde data-e etiketi */
@media (max-width: 640px) {
  .tablo-kaydir > .bt-tablo { min-width: 0; }
  .bt-tablo .tablo-bas { display: none; }
  .bt-tablo .tablo-satir { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 14px; padding: 10px 0; align-items: start; }
  .bt-tablo .tablo-satir > :first-child { grid-column: 1 / -1; font-weight: 600; color: var(--baslik); }
  .bt-tablo .tablo-satir > [data-e] { text-align: left; }
  .bt-tablo .tablo-satir > [data-e]::before { content: attr(data-e); display: block; margin-bottom: 1px; font-family: var(--yazi); font-size: 11px; font-weight: 400; color: var(--soluk); }
}

/* Açık / GSYH sütunları (25+ sütun): sitenin değerli grafik aralığı (14px) dar ekranda sütunları sıfıra indirir */
.bt-acik-grafik .sutun-grafik-degerli .sutunlar { gap: clamp(2px, 0.6vw, 8px); }
.bt-acik-grafik .sutun-deger { white-space: nowrap; font-size: 12px; }
.bt-acik-grafik .sutun:last-child .sutun-deger { align-self: flex-end; }
.bt-acik-grafik .sutun:first-child .sutun-deger { align-self: flex-start; }
@media (max-width: 640px) {
  .bt-acik-grafik .sutun-deger { visibility: hidden; }
  .bt-acik-grafik .sutun:first-child .sutun-deger, .bt-acik-grafik .sutun:last-child .sutun-deger { visibility: visible; }
}

/* Kurum sayfası (butce-kurum.php) ------------------------------------------------------------------
   Yıl yıl özet: yıl etiketi solda, cümle sağda; telefonda alt alta */
.bt-anlatim { list-style: none; margin: 0; padding: 0; }
.bt-anlatim li { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 4px 20px; padding: 14px 0; border-top: 1px solid var(--ayrac); }
.bt-anlatim li:first-child { border-top: 0; padding-top: 0; }
.bt-anlatim li:last-child { padding-bottom: 0; }
.bt-anlatim-yil { margin: 0; font-family: var(--mono); font-size: 14px; font-weight: 700; color: var(--baslik); line-height: 1.65; }
.bt-anlatim p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--okuma); max-width: 820px; }
.bt-anlatim p.bt-anlatim-oy { margin-top: 6px; font-size: 13px; line-height: 1.5; color: var(--soluk); }
.bt-anlatim-oy a { color: inherit; text-decoration: underline; text-decoration-color: var(--kenar-guclu); }

/* Gruplu sütun grafiği: yıl başına kanun · yıl sonu ödeneği · harcanan (teklif yalnız kanunlaşmamış yılda); tek ölçek,
   soluk yatay ızgara, değer etiketleri geniş ekranda (dar ekranda tablo ve ipucu) */
.bt-gs { margin: 0; }
.bt-gs-lejant { margin-bottom: 18px; align-items: center; }
.bt-gs-birim { margin-left: auto; font-size: 11px; letter-spacing: 0.04em; }
.bt-gs-govde { --boy: 230px; --sol: 56px; --ust-bosluk: 22px; position: relative; padding: var(--ust-bosluk) 0 0 var(--sol); }
.bt-gs-eksen { position: absolute; left: 0; right: 0; top: var(--ust-bosluk); height: var(--boy); pointer-events: none; }
.bt-gs-eksen span { position: absolute; left: var(--sol); right: 0; bottom: var(--y); border-top: 1px solid var(--ayrac); }
.bt-gs-eksen b { position: absolute; right: calc(100% + 8px); bottom: -7px; font-size: 11px; font-weight: 400; line-height: 1.2; color: var(--soluk); white-space: nowrap; }
.bt-gs-gruplar { position: relative; display: flex; gap: clamp(10px, 3vw, 40px); }
.bt-gs-grup { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; }
.bt-gs-cubuklar { width: 100%; height: var(--boy); display: flex; justify-content: center; align-items: flex-end; gap: 2px; border-bottom: 1px solid var(--kenar-guclu); }
.bt-gs-cubuk { position: relative; flex: 0 1 56px; min-width: 8px; height: var(--y); min-height: 1px; background: var(--renk); }
.bt-gs-cubuk:hover { filter: brightness(1.15); }
.bt-gs-deger { position: absolute; left: 50%; bottom: calc(100% + 4px); transform: translateX(-50%); font-size: 11.5px; font-weight: 600; color: var(--baslik); white-space: nowrap; }
.bt-gs-yil { margin-top: 8px; font-size: 13px; font-weight: 700; color: var(--baslik); }
.bt-gs-not { margin-top: 2px; font-size: 12px; line-height: 1.35; color: var(--soluk); text-align: center; }
.bt-gs-kisa { display: none; }
/* 6+ yıllık grafikte sütun başına üç değer etiketi yan yana sığmaz (üst üste biniyordu): etiketler gizli, değerler hemen
   alttaki tabloda ve sütunun üzerine gelince (title) */
.bt-gs-cok .bt-gs-deger { display: none; }
@media (max-width: 1000px) { .bt-gs-deger { display: none; } .bt-gs-govde { --ust-bosluk: 8px; } }
@media (max-width: 760px) {
  /* çok yıllı grafik (6+ yıl) dar ekranda: yıl kısa ("’19"), alt notlar gizli — ayrıntı altındaki tabloda */
  .bt-gs-cok .bt-gs-uzun { display: none; }
  .bt-gs-cok .bt-gs-kisa { display: inline; }
  .bt-gs-cok .bt-gs-not { display: none; }
  .bt-gs-cok .bt-gs-gruplar { gap: 4px; }
  .bt-gs-cok .bt-gs-cubuklar { gap: 1px; }
}
@media (max-width: 640px) {
  .bt-gs-govde { --boy: 180px; --sol: 44px; }
  .bt-gs-gruplar { gap: 8px; }
  .bt-gs-not { font-size: 11px; }
  .bt-anlatim li { grid-template-columns: minmax(0, 1fr); }
  .bt-anlatim-yil { line-height: 1.4; }
}

.bt-birim { margin-bottom: 0; font-size: 11px; letter-spacing: 0.04em; }
.bt-kurum-tablo .soluk { font-family: var(--yazi); font-size: 13px; }
.bt-hucre-not { display: block; margin-top: 2px; font-family: var(--yazi); font-size: 11.5px; font-weight: 400; color: var(--soluk); white-space: nowrap; }

.bt-bu-yil { background: rgba(var(--soguk-rgb), 0.06); }
.bt-oy-giris { max-width: 820px; font-size: 14px; }

/* Ödeneğin ayrıntısı (parca/butce-ayrinti.php): hücre kısa yazım (.bt-k) / tam TL (.bt-t), "Tam tutarlar" kutusuyla */
.bt-tam-sec { display: inline-flex; align-items: center; gap: 8px; min-height: 32px; font-size: 13px; color: var(--soluk); cursor: pointer; }
.bt-tam-sec input { width: 16px; height: 16px; accent-color: var(--soguk); }
.bt-t { display: none; }
.bt-ayr:has(.bt-tam:checked) .bt-k { display: none; }
.bt-ayr:has(.bt-tam:checked) .bt-t { display: inline; }
.bt-ayr .bt-hucre-not { white-space: normal; }
.bt-ayr-grup { font-weight: 700; color: var(--baslik); border-top: 1px solid var(--kenar-guclu); }
.bt-ayr-alt { min-height: 34px; font-size: 13.5px; }
.bt-ayr-alt > span:first-child { padding-left: 14px; }
.bt-tur-not { font-size: 12px; color: var(--soluk); }
.bt-prog > summary { list-style: none; cursor: pointer; }
.bt-prog > summary::-webkit-details-marker { display: none; }
.bt-prog > summary > span:first-child::before { content: '+'; display: inline-block; width: 18px; font-family: var(--mono); color: var(--soluk); }
.bt-prog[open] > summary > span:first-child::before { content: '−'; }
.bt-prog > summary:hover { background: rgba(var(--ust-rgb), 0.03); }
.bt-prog > summary:focus-visible { outline: 2px solid var(--soguk); outline-offset: 2px; }
.bt-prog[open] > summary { border-bottom-color: transparent; font-weight: 600; color: var(--baslik); }
.bt-prog-ic { padding: 4px 0 18px; border-bottom: 1px solid var(--ayrac); }
/* iç tablo, özetle aynı ızgarada: sütunlar başlıkla hizalı kalsın diye girinti yalnız ilk sütunda */
.bt-prog-ic .bt-mini .tablo-satir > span:first-child, .bt-prog-ic .bt-mini-grup, .bt-prog-ic .bt-prog-baslik, .bt-prog-ic .bt-birimler { padding-left: 18px; }
.bt-prog-baslik { margin: 6px 0 2px; font-family: var(--mono); font-size: 11px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--soluk); }
.bt-mini .tablo-satir { min-height: 30px; font-size: 13px; }
.bt-birimler { list-style: none; margin: 0; padding: 0; }
.bt-birimler summary { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; min-height: 34px; padding: 6px 0; border-bottom: 1px solid var(--ayrac); font-size: 13.5px; color: var(--metin); cursor: pointer; list-style: none; }
.bt-birimler summary::-webkit-details-marker { display: none; }
.bt-birimler summary > span:first-child::before { content: '+'; display: inline-block; width: 16px; font-family: var(--mono); color: var(--soluk); }
.bt-birimler details[open] > summary > span:first-child::before { content: '−'; }
.bt-birimler summary .mono { font-size: 13px; white-space: nowrap; }
.bt-birim-kalem { list-style: none; margin: 0 0 6px; padding: 4px 0 0 16px; }
.bt-birim-kalem li { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 3px 0; font-size: 13px; color: var(--yumusak); }
.bt-birim-kalem li .mono { font-size: 12.5px; white-space: nowrap; }
.bt-birim-fin { margin-top: 4px; font-family: var(--mono); font-size: 11px; letter-spacing: 0.03em; text-transform: uppercase; color: var(--soluk); }
@media (max-width: 640px) {
  .bt-ayr-alt > span:first-child { padding-left: 0; }
  .bt-prog-ic .bt-mini .tablo-satir > span:first-child, .bt-prog-ic .bt-mini-grup, .bt-prog-ic .bt-prog-baslik, .bt-prog-ic .bt-birimler { padding-left: 0; }
}
.bt-mini-grup { padding: 10px 0 2px; font-size: 12px; font-weight: 700; color: var(--baslik); border-bottom: 1px solid var(--kenar-guclu); }
.bt-birim-kalem li.bt-birim-grup { display: block; margin-top: 6px; padding-bottom: 1px; font-size: 12px; font-weight: 700; color: var(--metin); }

/* Yıl sekmeleri (butce.php) kartın değil sayfa kabının (.kap) içinde: telefondaki kaydırma şeridinin taşma payı kartın iç
   boşluğu (--kart-ic, 18px) değil kabın kenar boşluğu (--yan, 16px) olmalı; yoksa sayfa 2px yatay kayıyordu */
@media (max-width: 760px) {
  .kap > .sekmeler { margin-left: calc(-1 * var(--yan)); margin-right: calc(-1 * var(--yan)); padding-left: var(--yan); padding-right: var(--yan); }
}
