/* ===== 16.35.x — Monatsbericht (GuV) ekranı (public/guv-report.js) =====
   Kural: TÜM seçiciler .guv-screen altında → uygulamanın geri kalanına sızmaz. Yalnız bu modüle ait istisnalar: gece modu blokları
   (:root … .guv-screen), yalnız bu modülün yazdırması sırasında body'ye konan .printing-guv sınıfı, adlandırılmış sayfa @page guvPage
   ve @keyframes guv-spin. Renkler luxe.css (--lx-*) / styles.css değişkenlerinden; tanımsızsa yedek değer. Rakamlar tabular-nums.
   Düzen: rapor kartı bir container (guvreport) → KPI/panel sütunları ekran genişliğine değil kartın genişliğine göre (kenar menü açık/kapalı). */

.guv-screen {
  --guv-ink: var(--ink, #14231c);
  --guv-muted: var(--muted, #6b7a72);
  --guv-line: var(--line, #e8e2d4);
  --guv-line-2: var(--lx-line-2, #f1ede3);
  --guv-field: var(--lx-field, var(--line, #e3dccb));
  --guv-panel: var(--panel, #fff);
  --guv-soft: var(--surface-2, #faf8f2);
  --guv-head: var(--lx-head, #10261d);
  --guv-feat-bg: var(--lx-green, #10261d);
  --guv-feat-ink: #f4ecd8;
  --guv-feat-sub: #cfc6ad;
  --guv-gold: var(--lx-gold, var(--gold, #c9a24a));
  --guv-gold-2: var(--lx-gold-2, #e7c78a);
  --guv-gold-dk: var(--lx-gold-dk, #9a7424);
  --guv-good: var(--lx-ok, #1d7048);
  --guv-good-bg: var(--lx-ok-bg, #e2f3ea);
  --guv-bad: var(--lx-bad, #b23a24);
  --guv-bad-bg: var(--lx-bad-bg, #fde7e2);
  --guv-warn: var(--lx-warn, #8a5a00);
  --guv-warn-bg: var(--lx-warn-bg, #fbf0d9);
  --guv-key-bg: var(--lx-x-bg, #f1f4f2);
  --guv-hover: var(--lx-soft-gold, #fdf8ec);
  --guv-bar-prev: var(--lx-bar-dim-2, #c0d0c7);
  --guv-serif: var(--lx-serif, "Cormorant Garamond", Georgia, "Times New Roman", serif);
  --guv-shadow: 0 1px 2px rgba(20, 35, 28, .04), 0 12px 30px -20px rgba(20, 35, 28, .22);
  display: block;
  min-width: 0;
  max-width: 100%;
  color: var(--guv-ink);
}
/* gece modu: sistem tercihi (☾ seçilmemiş) + elle koyu — luxe.css ile aynı iki blok */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .guv-screen {
    --guv-line-2: var(--lx-line-2, #1f2a24);
    --guv-head: var(--lx-head, #f1e3bd);
    --guv-feat-bg: #1d3a2e;
    --guv-gold-dk: var(--lx-gold-2, #e7c78a);
    --guv-good: var(--lx-ok, #7fd6ac);
    --guv-good-bg: var(--lx-ok-bg, #16372a);
    --guv-bad: var(--lx-bad, #f19a86);
    --guv-bad-bg: var(--lx-bad-bg, #3d1f19);
    --guv-warn: var(--lx-warn, #f0c46a);
    --guv-warn-bg: var(--lx-warn-bg, #3a2f14);
    --guv-key-bg: var(--lx-x-bg, rgba(255, 255, 255, .05));
    --guv-hover: var(--lx-soft-gold, rgba(201, 162, 74, .12));
    --guv-bar-prev: var(--lx-bar-dim-2, #2f3e37);
    --guv-shadow: 0 1px 2px rgba(0, 0, 0, .4);
  }
}
:root[data-theme="dark"] .guv-screen {
  --guv-line-2: var(--lx-line-2, #1f2a24);
  --guv-head: var(--lx-head, #f1e3bd);
  --guv-feat-bg: #1d3a2e;
  --guv-gold-dk: var(--lx-gold-2, #e7c78a);
  --guv-good: var(--lx-ok, #7fd6ac);
  --guv-good-bg: var(--lx-ok-bg, #16372a);
  --guv-bad: var(--lx-bad, #f19a86);
  --guv-bad-bg: var(--lx-bad-bg, #3d1f19);
  --guv-warn: var(--lx-warn, #f0c46a);
  --guv-warn-bg: var(--lx-warn-bg, #3a2f14);
  --guv-key-bg: var(--lx-x-bg, rgba(255, 255, 255, .05));
  --guv-hover: var(--lx-soft-gold, rgba(201, 162, 74, .12));
  --guv-bar-prev: var(--lx-bar-dim-2, #2f3e37);
  --guv-shadow: 0 1px 2px rgba(0, 0, 0, .4);
}

/* ---------- araç çubuğu ---------- */
.guv-screen .guv-section-head { margin-bottom: 18px; }
.guv-screen .guv-toolbar { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 16px; margin: 0 0 16px; }
.guv-screen .guv-field { display: grid; gap: 6px; min-width: 0; }
.guv-screen .guv-field > label { display: block; margin: 0; color: var(--guv-muted); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.guv-screen .guv-monthpick { display: flex; align-items: center; gap: 6px; min-width: 0; }
.guv-screen .guv-toolbar select { width: auto; min-width: 0; max-width: 100%; min-height: 42px; padding: 9px 14px; border-color: var(--guv-field); border-radius: 999px; font-weight: 600; }
.guv-screen .guv-monthpick select { flex: 1 1 190px; min-width: 150px; }
.guv-screen .guv-field-scope { flex: 1 1 220px; max-width: 380px; }
.guv-screen .guv-field-scope select { width: 100%; }
.guv-screen .guv-iconbtn { flex: 0 0 auto; display: inline-grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid var(--guv-field); border-radius: 50%; background: var(--guv-panel); color: var(--guv-ink); font-size: 20px; line-height: 1; cursor: pointer; }
.guv-screen .guv-iconbtn:hover:not(:disabled) { border-color: var(--guv-gold); color: var(--guv-head); }
.guv-screen .guv-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; margin-left: auto; }
.guv-screen .guv-stamp { color: var(--guv-muted); font-size: 12px; font-variant-numeric: tabular-nums; }
.guv-screen button:focus-visible, .guv-screen select:focus-visible, .guv-screen summary:focus-visible, .guv-screen .guv-scroll:focus-visible { outline: 2px solid var(--guv-gold); outline-offset: 2px; }

/* ---------- durumlar: yükleniyor / veri yok / hata ---------- */
.guv-screen .guv-state { display: grid; justify-items: start; gap: 8px; padding: 24px; border: 1px solid var(--guv-line); border-radius: 18px; background: var(--guv-panel); color: var(--guv-ink); }
.guv-screen .guv-state b { font-family: var(--guv-serif); font-size: 24px; font-weight: 600; line-height: 1.15; color: var(--guv-head); }
.guv-screen .guv-state p { margin: 0; overflow-wrap: anywhere; }
.guv-screen .guv-state small { color: var(--guv-muted); }
.guv-screen .guv-state.is-loading, .guv-screen .guv-state.is-empty { justify-items: center; padding: 52px 24px; text-align: center; }
.guv-screen .guv-state.is-error { border-color: color-mix(in srgb, var(--guv-bad) 45%, var(--guv-line)); background: var(--guv-bad-bg); }
.guv-screen .guv-state.is-error b { color: var(--guv-bad); }
.guv-screen .guv-state.is-warn { margin-bottom: 12px; padding: 14px 18px; border-color: color-mix(in srgb, var(--guv-warn) 45%, var(--guv-line)); background: var(--guv-warn-bg); }
.guv-screen .guv-state.is-warn b { font-size: 19px; color: var(--guv-warn); }
.guv-screen .guv-spinner { width: 34px; height: 34px; border: 3px solid var(--guv-line); border-top-color: var(--guv-gold); border-radius: 50%; animation: guv-spin .9s linear infinite; }
@keyframes guv-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .guv-screen .guv-spinner { animation-duration: 3s; } }

/* ---------- rapor kartı + başlık ---------- */
.guv-screen .guv-report { container: guvreport / inline-size; min-width: 0; overflow: hidden; border: 1px solid var(--guv-line); border-radius: 18px; background: var(--guv-panel); box-shadow: var(--guv-shadow); }
.guv-screen .guv-head { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 10px 16px; padding: 20px 22px; border-bottom: 1px solid var(--guv-line); background: var(--guv-soft); }
.guv-screen .guv-head-main { flex: 1 1 300px; min-width: 0; }
.guv-screen .guv-eyebrow { margin: 0; color: var(--guv-gold-dk); font-size: 11.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.guv-screen .guv-title { margin: 4px 0; font-family: var(--guv-serif); font-size: 28px; font-weight: 600; line-height: 1.12; letter-spacing: 0; color: var(--guv-head); overflow-wrap: anywhere; font-variant-numeric: lining-nums; }
.guv-screen .guv-meta { margin: 0; color: var(--guv-muted); font-size: 13px; line-height: 1.5; }
.guv-screen .guv-head-side { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.guv-screen .guv-chip { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; background: var(--guv-key-bg); color: var(--guv-head); font-size: 11.5px; font-weight: 700; line-height: 1.4; letter-spacing: 0; text-transform: none; white-space: nowrap; vertical-align: middle; }
.guv-screen .guv-chip.ok { background: var(--guv-good-bg); color: var(--guv-good); }
.guv-screen .guv-chip.warn { background: var(--guv-warn-bg); color: var(--guv-warn); }
.guv-screen .guv-chip.bad { background: var(--guv-bad-bg); color: var(--guv-bad); }
.guv-screen .guv-chip.muted { background: var(--guv-key-bg); color: var(--guv-muted); }
.guv-screen .guv-chip.sm { padding: 1px 7px; font-size: 10.5px; }

/* ---------- KPI kutuları (dar: 2, orta: 3, geniş kart: 6 sütun; rakam kutuya göre ölçeklenir, kesilmez) ---------- */
.guv-screen .guv-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 18px 22px; }
.guv-screen .guv-kpi { container-type: inline-size; min-width: 0; padding: 12px 14px; border: 1px solid var(--guv-line); border-radius: 14px; background: var(--guv-panel); }
.guv-screen .guv-kpi-label { display: block; color: var(--guv-muted); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; overflow-wrap: anywhere; }
.guv-screen .guv-kpi-value { display: block; margin-top: 4px; font-family: var(--guv-serif); font-size: 22px; font-size: clamp(17px, 13.5cqi, 28px); font-weight: 600; line-height: 1.15; color: var(--guv-head); white-space: nowrap; font-variant-numeric: lining-nums tabular-nums; }
.guv-screen .guv-kpi-sub { display: block; margin-top: 3px; color: var(--guv-muted); font-size: 12px; line-height: 1.35; overflow-wrap: anywhere; }
.guv-screen .guv-kpi.warn { border-color: color-mix(in srgb, var(--guv-warn) 40%, var(--guv-line)); }
.guv-screen .guv-kpi.warn .guv-kpi-value { color: var(--guv-warn); }
.guv-screen .guv-kpi.feat { border-color: var(--guv-feat-bg); background: var(--guv-feat-bg); }
.guv-screen .guv-kpi.feat .guv-kpi-label, .guv-screen .guv-kpi.feat .guv-kpi-sub { color: var(--guv-feat-sub); }
.guv-screen .guv-kpi.feat .guv-kpi-value { color: var(--guv-feat-ink); }

/* ---------- sekmeler ---------- */
.guv-screen .guv-tabs { display: flex; gap: 20px; padding: 0 22px; border-top: 1px solid var(--guv-line); border-bottom: 1px solid var(--guv-line); overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.guv-screen .guv-tabs::-webkit-scrollbar { display: none; }
.guv-screen .guv-tab { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 4px; margin: 0; padding: 12px 0 10px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; color: var(--guv-muted); font-size: 13.5px; font-weight: 600; white-space: nowrap; cursor: pointer; }
.guv-screen .guv-tab:hover { color: var(--guv-head); }
.guv-screen .guv-tab.is-on { border-bottom-color: var(--guv-gold); color: var(--guv-head); }
.guv-screen .guv-count { display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--guv-warn-bg); color: var(--guv-warn); font-size: 11px; font-weight: 700; }
.guv-screen .guv-pane { min-width: 0; padding: 14px 22px 18px; }
.guv-screen .guv-tablebar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin: 0 0 6px; }
.guv-screen .guv-check { display: inline-flex; align-items: center; gap: 8px; margin: 0; color: var(--guv-ink); font-size: 13px; font-weight: 600; cursor: pointer; }
.guv-screen .guv-check input { width: 18px; height: 18px; margin: 0; padding: 0; accent-color: var(--guv-gold-dk); }
.guv-screen .guv-hint { color: var(--guv-muted); font-size: 12.5px; }

/* ---------- tablolar: yatay kaydırma YALNIZ kendi kabında (sayfa yana kaymaz) ---------- */
.guv-screen .guv-scroll { max-width: 100%; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; touch-action: pan-x pan-y; }
.guv-screen .guv-table, .guv-screen .guv-mini { width: 100%; border-collapse: collapse; border-spacing: 0; color: var(--guv-ink); font-variant-numeric: tabular-nums; }
.guv-screen .guv-table { font-size: 13.5px; }
.guv-screen .guv-mini { font-size: 12.5px; }
.guv-screen .guv-bwa { min-width: 640px; }
.guv-screen .guv-wide { min-width: 680px; }
.guv-screen .guv-table th, .guv-screen .guv-table td, .guv-screen .guv-mini th, .guv-screen .guv-mini td { position: static; padding: 7px 8px; border: 0; border-bottom: 1px dashed var(--guv-line-2); background: none; color: inherit; font-size: inherit; font-weight: 400; letter-spacing: normal; line-height: 1.4; text-align: left; text-transform: none; vertical-align: middle; }
.guv-screen .guv-mini th, .guv-screen .guv-mini td { padding: 5px 4px; }
.guv-screen .guv-table thead th, .guv-screen .guv-mini thead th { padding-top: 9px; padding-bottom: 9px; border-bottom: 1px solid var(--guv-line); color: var(--guv-muted); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.guv-screen .guv-table .n, .guv-screen .guv-mini .n { text-align: right; white-space: nowrap; }
.guv-screen .guv-table .p { color: var(--guv-muted); }
.guv-screen .guv-table .strong { font-weight: 700; }
.guv-screen .guv-table tbody th[scope="row"], .guv-screen .guv-mini tbody td:first-child { font-weight: 500; }
.guv-screen .good { color: var(--guv-good); }
.guv-screen .bad { color: var(--guv-bad); }
.guv-screen .guv-sub-line { display: block; margin-top: 2px; color: var(--guv-muted); font-size: 11.5px; font-weight: 400; }
.guv-screen .guv-hints { min-width: 180px; color: var(--guv-muted); font-size: 12px; white-space: normal; }
.guv-screen .guv-tags { min-width: 180px; white-space: normal; }
.guv-screen .guv-tag { display: inline-flex; margin: 2px 4px 2px 0; padding: 2px 9px; border: 1px solid var(--guv-line); border-radius: 999px; background: var(--guv-panel); color: var(--guv-head); font-size: 12px; font-weight: 600; white-space: nowrap; cursor: pointer; }
.guv-screen .guv-tag:hover { border-color: var(--guv-gold); }
.guv-screen .guv-linkbtn { display: inline; margin: 0; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 3px; cursor: pointer; }
.guv-screen .guv-linkbtn:hover, .guv-screen .guv-linkbtn:focus-visible { text-decoration-color: var(--guv-gold); }
.guv-screen .guv-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* BWA satır türleri (onaylı örnek): grup başlığı altın, ara toplam kalın, anahtar satır açık zemin, Monatsergebnis koyu yeşil */
.guv-screen .guv-bwa thead th:first-child { width: 42%; }
.guv-screen .guv-bwa tr.grp th { padding: 16px 8px 4px; border-bottom: 0; color: var(--guv-gold-dk); font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.guv-screen .guv-bwa tr.grp small { margin-left: 6px; color: var(--guv-muted); font-size: 11.5px; font-weight: 500; letter-spacing: 0; text-transform: none; }
.guv-screen .guv-bwa tr.sub > * { border-bottom: 1px solid var(--guv-line); font-weight: 700; }
.guv-screen .guv-bwa tr.key > * { background: var(--guv-key-bg); color: var(--guv-head); font-weight: 700; }
.guv-screen .guv-bwa tr.key > .p { color: var(--guv-muted); }
.guv-screen .guv-bwa tr.last > * { border-bottom-color: var(--guv-feat-bg); background: var(--guv-feat-bg); color: var(--guv-feat-ink); }
.guv-screen .guv-bwa tr.last > .p { color: var(--guv-feat-sub); }
.guv-screen .guv-bwa tr.last > .good, .guv-screen .guv-bwa tr.last > .bad { color: var(--guv-feat-ink); }
.guv-screen .guv-bwa tr.is-drill { cursor: pointer; }
.guv-screen .guv-bwa tr.is-drill:hover > * { background: var(--guv-hover); }
.guv-screen .guv-bwa.hide-zero tr[data-zero] { display: none; }
/* 16.44.0: "Nur Hauptpositionen" — ayrıntı satırları gizlenir; grup başlıkları, ara toplamlar, kilit satırlar ve et payı kalır */
.guv-screen .guv-bwa.main-only tr.det { display: none; }
.guv-screen .guv-bwa tr.meat-share > * { color: var(--guv-muted); font-size: 12.5px; font-style: italic; }
.guv-screen .guv-bwa tr.meat-share > th[scope="row"] { padding-left: 22px; }
.guv-screen .guv-person-row th, .guv-screen .guv-person-row td { color: var(--guv-muted); font-size: 12.5px; }
.guv-screen .guv-person-row th[scope="row"] { padding-left: 22px; }

/* ---------- GuV sekmesi panelleri ---------- */
.guv-screen .guv-panels { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 18px; }
.guv-screen .guv-panel { min-width: 0; padding: 14px 16px; border: 1px solid var(--guv-line); border-radius: 14px; background: var(--guv-panel); }
.guv-screen .guv-panel h4, .guv-screen .guv-sub h4 { margin: 0 0 10px; color: var(--guv-gold-dk); font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.guv-screen .guv-list { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.guv-screen .guv-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(48px, auto); align-items: baseline; gap: 8px; padding-bottom: 5px; border-bottom: 1px dashed var(--guv-line-2); font-size: 13px; }
.guv-screen .guv-list li span { min-width: 0; overflow-wrap: anywhere; }
.guv-screen .guv-list li b { font-weight: 700; white-space: nowrap; font-variant-numeric: tabular-nums; }
.guv-screen .guv-list li em { font-size: 12px; font-style: normal; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.guv-screen .guv-more { display: inline-flex; align-items: center; margin-top: 10px; padding: 0; border: 0; background: none; color: var(--guv-gold-dk); font-size: 12.5px; font-weight: 700; cursor: pointer; }
.guv-screen .guv-more:hover { text-decoration: underline; text-underline-offset: 3px; }
.guv-screen .guv-energy { display: grid; gap: 12px; }
.guv-screen .guv-erow { display: grid; gap: 4px; }
.guv-screen .guv-erow-head { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(48px, auto); align-items: baseline; gap: 8px; font-size: 13px; }
.guv-screen .guv-erow-head b { white-space: nowrap; font-variant-numeric: tabular-nums; }
.guv-screen .guv-erow-head em { font-size: 12px; font-style: normal; text-align: right; white-space: nowrap; }
.guv-screen .guv-ebars { display: grid; gap: 3px; }
.guv-screen .guv-ebar { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: 8px; }
.guv-screen .guv-ebar small { color: var(--guv-muted); font-size: 11px; white-space: nowrap; }
.guv-screen .guv-ebar span { display: block; height: 8px; overflow: hidden; border-radius: 99px; background: var(--guv-key-bg); }
.guv-screen .guv-ebar i { display: block; height: 100%; border-radius: 99px; }
.guv-screen .guv-ebar i.cur { background: linear-gradient(90deg, var(--guv-gold), var(--guv-gold-2)); }
.guv-screen .guv-ebar i.prev { background: var(--guv-bar-prev); }
.guv-screen .guv-ekum { color: var(--guv-muted); font-size: 11.5px; }

/* ---------- veri kalitesi, notlar, alt bölümler ---------- */
.guv-screen .guv-dq { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; padding: 12px 22px; border-top: 1px solid var(--guv-line); background: var(--guv-hover); font-size: 13px; }
.guv-screen .guv-dq > span:not(.guv-chip) { flex: 1 1 260px; min-width: 0; overflow-wrap: anywhere; }
.guv-screen .guv-dq .guv-more { margin-top: 0; }
.guv-screen .guv-dq-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
.guv-screen .guv-dq-row { padding: 8px 0; border-bottom: 1px dashed var(--guv-line-2); }
.guv-screen .guv-note { margin: 8px 0 0; color: var(--guv-muted); font-size: 12.5px; line-height: 1.5; }
.guv-screen .guv-empty-note { margin: 0; padding: 26px 8px; color: var(--guv-muted); text-align: center; }
.guv-screen .guv-sub { margin-top: 18px; }
.guv-screen .guv-details { margin-top: 10px; border: 1px solid var(--guv-line); border-radius: 12px; background: var(--guv-panel); }
.guv-screen .guv-details > summary { padding: 10px 14px; font-weight: 600; cursor: pointer; list-style-position: inside; }
.guv-screen .guv-details[open] > summary { border-bottom: 1px solid var(--guv-line); }
.guv-screen .guv-details > .guv-scroll, .guv-screen .guv-details > .guv-note { margin: 0 14px 10px; }
.guv-screen .guv-assumptions ol { margin: 0; padding-left: 20px; color: var(--guv-muted); font-size: 12.5px; line-height: 1.55; }
.guv-screen .guv-assumptions li { margin: 3px 0; }
.guv-screen .guv-printfoot { margin: 14px 0 0; color: var(--guv-muted); font-size: 10px; }

/* ---------- detay paneli (drill): masaüstü/iPad sağdan çekmece, telefonda alttan sayfa ---------- */
.guv-screen .guv-drill { position: fixed; inset: 0; z-index: 48; display: flex; justify-content: flex-end; }
.guv-screen .guv-drill-backdrop { position: absolute; inset: 0; background: rgba(11, 31, 25, .45); backdrop-filter: blur(2px); }
.guv-screen .guv-drill-panel { position: relative; display: flex; flex-direction: column; width: min(760px, 100%); height: 100%; max-height: 100%; overflow: hidden; padding: calc(18px + env(safe-area-inset-top)) 20px calc(18px + env(safe-area-inset-bottom)); border-left: 1px solid var(--guv-line); background: var(--guv-panel); color: var(--guv-ink); box-shadow: -18px 0 48px rgba(0, 0, 0, .22); }
.guv-screen .guv-drill-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.guv-screen .guv-drill-head > div { min-width: 0; }
.guv-screen .guv-drill-head h3 { margin: 4px 0 0; font-family: var(--guv-serif); font-size: 26px; font-weight: 600; line-height: 1.15; color: var(--guv-head); overflow-wrap: anywhere; }
.guv-screen .guv-seg { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 10px; }
.guv-screen .guv-seg button { padding: 6px 12px; border: 1px solid var(--guv-line); border-radius: 999px; background: var(--guv-panel); color: var(--guv-ink); font-size: 12.5px; font-weight: 600; cursor: pointer; }
.guv-screen .guv-seg button.is-on { border-color: var(--guv-feat-bg); background: var(--guv-feat-bg); color: var(--guv-feat-ink); }
.guv-screen .guv-drill-sum { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; padding: 10px 0; border-top: 1px solid var(--guv-line); border-bottom: 1px solid var(--guv-line); }
.guv-screen .guv-drill-sum span { color: var(--guv-muted); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.guv-screen .guv-drill-sum b { font-family: var(--guv-serif); font-size: 24px; font-weight: 600; color: var(--guv-head); font-variant-numeric: lining-nums tabular-nums; }
.guv-screen .guv-drill-sum small { color: var(--guv-muted); }
.guv-screen .guv-drill-body { flex: 1 1 auto; min-height: 0; padding-top: 8px; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.guv-screen .guv-drill-body .guv-state { margin-top: 8px; }

/* ---------- duyarlı düzen: kartın genişliğine göre (kenar menü açık/kapalı, iPad dikey/yatay) ---------- */
@container guvreport (min-width: 560px) { .guv-screen .guv-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@container guvreport (min-width: 1200px) { .guv-screen .guv-kpis { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@container guvreport (min-width: 700px) { .guv-screen .guv-panels { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container guvreport (min-width: 1060px) { .guv-screen .guv-panels { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@container guvreport (max-width: 559px) {
  .guv-screen .guv-head { padding: 16px 14px; }
  .guv-screen .guv-title { font-size: 23px; }
  .guv-screen .guv-kpis { gap: 8px; padding: 14px; }
  .guv-screen .guv-kpi { padding: 10px 12px; }
  .guv-screen .guv-tabs { gap: 16px; padding: 0 14px; }
  .guv-screen .guv-pane { padding: 12px 14px 16px; }
  .guv-screen .guv-dq { padding: 12px 14px; }
  .guv-screen .guv-hint { display: none; }
}
/* dar kartta yatay kaydırırken pozisyon adı sabit kalır (hangi satırın rakamı okunuyor belli olsun) */
@container guvreport (max-width: 759px) {
  .guv-screen .guv-bwa thead th:first-child, .guv-screen .guv-bwa tbody th[scope="row"] { position: sticky; left: 0; z-index: 1; min-width: 150px; max-width: 46vw; background: var(--guv-panel); box-shadow: 1px 0 0 var(--guv-line); }
  .guv-screen .guv-bwa tbody tr.key > th[scope="row"] { background: var(--guv-key-bg); }
  .guv-screen .guv-bwa tbody tr.last > th[scope="row"] { background: var(--guv-feat-bg); }
  .guv-screen .guv-bwa tbody tr.is-drill:hover > th[scope="row"] { background: var(--guv-hover); }
}
@supports not (container-type: inline-size) {
  @media (min-width: 900px) {
    .guv-screen .guv-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .guv-screen .guv-panels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
}
@media (max-width: 640px) {
  .guv-screen .guv-actions { width: 100%; justify-content: flex-start; margin-left: 0; }
  .guv-screen .guv-field-scope { max-width: none; }
  .guv-screen .guv-drill { align-items: flex-end; }
  .guv-screen .guv-drill-panel { width: 100%; height: auto; max-height: 92vh; max-height: 92dvh; padding: 16px 16px calc(16px + env(safe-area-inset-bottom)); border-left: 0; border-radius: 18px 18px 0 0; box-shadow: 0 -18px 48px rgba(0, 0, 0, .25); }
  .guv-screen .guv-drill-head h3 { font-size: 22px; }
}

/* ---------- yazdırma / PDF: yalnız rapor, A4 dikey, uygulama menüsü yok ----------
   guv-report.js raporu body'nin doğrudan çocuğu olan #guvPrintArea'ya (.guv-screen.guv-print-host) kopyalar ve body'ye
   .printing-guv koyar (app'teki printing-schedule / printing-letter kalıbı). Ekranda bu alan hep gizli. */
.guv-screen.guv-print-host { display: none; }
@page guvPage { size: A4 portrait; margin: 12mm 11mm 14mm; }
@media print {
  body.printing-guv > :not(.guv-print-host) { display: none !important; }
  body.printing-guv .guv-screen.guv-print-host {
    --guv-ink: #111; --guv-muted: #555; --guv-line: #c8c8c8; --guv-line-2: #e3e3e3; --guv-panel: #fff; --guv-soft: #fff; --guv-head: #10261d;
    --guv-feat-bg: #10261d; --guv-feat-ink: #fff; --guv-feat-sub: #d9d2bf; --guv-gold: #b08a35; --guv-gold-dk: #7a5a12; --guv-good: #1d6b44; --guv-good-bg: #e9f4ee;
    --guv-bad: #a8331f; --guv-bad-bg: #fbeae6; --guv-warn: #7a5000; --guv-warn-bg: #faf0db; --guv-key-bg: #f1f3f1; --guv-hover: #fbf7ec; --guv-bar-prev: #c0d0c7;
    display: block !important; position: static; width: auto; margin: 0; padding: 0; page: guvPage;
    background: #fff; color: #111; font-family: "DM Sans", Arial, sans-serif; font-size: 9.5pt;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
  }
  .guv-screen.guv-print-host .guv-report { container-type: normal; overflow: visible; border: 0; border-radius: 0; box-shadow: none; }
  .guv-screen.guv-print-host .guv-head { padding: 0 0 8px; border-bottom: 2px solid #10261d; background: none; }
  .guv-screen.guv-print-host .guv-title { font-size: 19pt; }
  .guv-screen.guv-print-host .guv-meta { font-size: 8.5pt; }
  .guv-screen.guv-print-host .guv-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 10px 0; }
  .guv-screen.guv-print-host .guv-kpi { padding: 7px 9px; border-radius: 8px; break-inside: avoid; }
  .guv-screen.guv-print-host .guv-kpi-value { font-size: 15pt; }
  .guv-screen.guv-print-host .guv-kpi.feat { border: 2px solid #10261d; background: #fff; }
  .guv-screen.guv-print-host .guv-kpi.feat .guv-kpi-value { color: #10261d; }
  .guv-screen.guv-print-host .guv-kpi.feat .guv-kpi-label, .guv-screen.guv-print-host .guv-kpi.feat .guv-kpi-sub { color: #555; }
  .guv-screen.guv-print-host .guv-pane { padding: 4px 0 8px; }
  .guv-screen.guv-print-host .guv-scroll { overflow: visible; }
  .guv-screen.guv-print-host .guv-bwa, .guv-screen.guv-print-host .guv-wide { min-width: 0; }
  .guv-screen.guv-print-host .guv-table { font-size: 8.6pt; }
  .guv-screen.guv-print-host .guv-table th, .guv-screen.guv-print-host .guv-table td { padding: 2.5px 5px; }
  .guv-screen.guv-print-host .guv-table thead { display: table-header-group; }
  .guv-screen.guv-print-host .guv-table tr { break-inside: avoid; }
  .guv-screen.guv-print-host .guv-bwa tr.grp th { padding-top: 9px; }
  /* Monatsergebnis: kâğıtta koyu dolgu yerine muhasebe usulü çift alt çizgi */
  .guv-screen.guv-print-host .guv-bwa tr.last > * { border-top: 1.5px solid #111; border-bottom: 3px double #111; background: #fff; color: #111; }
  .guv-screen.guv-print-host .guv-bwa tr.last > .p { color: #555; }
  .guv-screen.guv-print-host .guv-panels { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
  .guv-screen.guv-print-host .guv-panel, .guv-screen.guv-print-host .guv-sub, .guv-screen.guv-print-host .guv-dq-row { break-inside: avoid; }
  .guv-screen.guv-print-host .guv-panel { padding: 8px 10px; border-radius: 8px; }
  .guv-screen.guv-print-host .guv-dq { margin-top: 8px; padding: 6px 8px; border: 1px solid #c8c8c8; border-radius: 6px; break-inside: avoid; }
  .guv-screen.guv-print-host .guv-note, .guv-screen.guv-print-host .guv-assumptions ol { font-size: 8pt; }
  .guv-screen.guv-print-host button, .guv-screen.guv-print-host .guv-tablebar, .guv-screen.guv-print-host .guv-tabs, .guv-screen.guv-print-host .guv-more { display: none !important; }
}
