/* Grafik modülü stilleri. Renkler CSS değişkeninden gelir; JS hiç renk
 * hesaplamaz — böylece tema takasında hiçbir şey yeniden çizilmez. */

.g { margin: 0; }
.g figcaption { font-size: 13px; font-weight: 600; margin-bottom: 2px; }
.g .g-alt { font-size: 12px; color: var(--murekkep-3); margin-bottom: 10px; }
.g svg { width: 100%; height: auto; display: block; overflow: visible; }
.g svg:focus-visible { outline: 2px solid var(--seri-1); outline-offset: 3px; border-radius: 4px; }

.g-eksen { fill: var(--murekkep-3); font-size: 11px; }
.g-izgara { stroke: var(--izgara); stroke-width: 1; }
.g-taban { stroke: var(--eksen); stroke-width: 1; }

/* Doğrudan etiket — açık temada 3. ve 4. seri yüzeyle 3:1'in altında;
 * karşılığı görünür etiket. Renk tek başına anlam taşımıyor. */
.g-etiket { fill: var(--murekkep-2); font-size: 11.5px; }
.g-deger { fill: var(--murekkep); font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }

.g-bant { fill: transparent; }
.g-bant:hover { fill: var(--murekkep); fill-opacity: .04; }
.g-imlec { stroke: var(--eksen); stroke-width: 1; stroke-dasharray: 3 3; }
.g-nokta { stroke: var(--yuzey); stroke-width: 2; }

.g-legend { display: flex; gap: 14px; flex-wrap: wrap; font-size: 12px;
            color: var(--murekkep-2); margin: 8px 0 2px; }
.g-legend i { width: 10px; height: 10px; border-radius: 2px; display: inline-block; margin-right: 5px; }

/* Erişilebilir alternatif — SVG'yi ekran okuyucuya anlatmanın taşınabilir
 * tek yolu; ayrıca operatör sayıyı kopyalayabiliyor. */
.g-tablo { margin-top: 10px; }
.g-tablo summary { font-size: 12px; color: var(--murekkep-3); cursor: pointer; }
.g-tablo table { margin-top: 8px; font-size: 13px; }

.g-ipucu {
  position: fixed; z-index: 50; pointer-events: none;
  background: var(--yuzey); border: 1px solid var(--kenarlik); border-radius: 8px;
  padding: 8px 11px; font-size: 12.5px; box-shadow: var(--golge); min-width: 130px;
}
.g-ipucu .bas { font-weight: 600; margin-bottom: 5px; }
.g-ipucu .sat { display: flex; align-items: center; gap: 7px; justify-content: space-between; }
.g-ipucu .sat b { font-variant-numeric: tabular-nums; }
.g-ipucu i { width: 9px; height: 9px; border-radius: 2px; display: inline-block; }

/* Huni */
.g-huni-satir { cursor: default; }
.g-huni-satir[data-tikla] { cursor: pointer; }
.g-huni-satir[data-tikla]:hover .g-huni-zemin { stroke: var(--murekkep-3); }
.g-huni-zemin { fill: var(--tuval); stroke: transparent; }
.g-darbogaz { stroke: var(--kritik); stroke-width: 2; fill: none; }

/* Kıvılcım — KPI kartı içi, eksensiz */
.g-kivilcim { display: block; width: 100%; height: 30px; }
