/* ====================================================
   YAZDIRMA / PDF (Faz 6c)
   - #view-print: filtrelenmiş görünüm (index.html, js/export-pdf.js)
   - #gantt-print: Gantt şeması (gantt.html, js/gantt-print.js)
   Ekranda gizlidir. Adlı sayfa (view-landscape) yalnızca bu kaplara uygulanır; diğer çıktıların
   (ör. toplantı tutanağı, css/meetings.css) varsayılan @page kuralı değişmez.
   Yazı tipi Türkçe karakterlerin tamamını kapsar: Inter (latin-ext), yoksa Segoe UI / Arial.
   ==================================================== */

#view-print, #gantt-print { display: none; }

@page view-landscape {
    size: A4 landscape;
    margin: 10mm 10mm 12mm;
    @bottom-right { content: counter(page) " / " counter(pages); font: 8pt 'Inter', 'Segoe UI', Arial, sans-serif; color: #94a3b8; }
}

@media print {
    html.print-root { height: auto !important; overflow: visible !important; background: #fff !important; }
    body.view-printing, body.gantt-printing {
        height: auto !important; overflow: visible !important; padding: 0 !important; margin: 0 !important;
        background: #fff !important; color: #0f172a !important;
    }
    body.view-printing > *:not(#view-print) { display: none !important; }
    body.view-printing #view-print { display: block !important; page: view-landscape; }
    body.gantt-printing > *:not(#gantt-print) { display: none !important; }
    body.gantt-printing #gantt-print { display: block !important; page: view-landscape; }
}

/* ---------- Filtrelenmiş görünüm ---------- */
.vp { font-family: 'Inter', 'Segoe UI', Arial, 'Helvetica Neue', sans-serif; color: #0f172a; font-size: 8.5pt; line-height: 1.35; }
.vp-kicker { font-size: 8pt; font-weight: 700; letter-spacing: 0.06em; color: #64748b; }
.vp h1 { font-size: 15pt; margin: 1pt 0 3pt; }
.vp-meta { color: #475569; margin-bottom: 4pt; }
.vp-filters { display: flex; flex-wrap: wrap; gap: 2pt 12pt; color: #334155; margin-bottom: 6pt; padding: 4pt 6pt; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 4pt; }
.vp-baseline { margin: 0 0 6pt; padding: 4pt 6pt; border-left: 3pt solid #7c3aed; background: #f5f3ff; }
.vp-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.vp-table thead { display: table-header-group; }
.vp-table th { text-align: left; font-weight: 700; background: #ede9fe; color: #1e1b4b; padding: 3pt 4pt; border-bottom: 1px solid #94a3b8; }
.vp-table td { padding: 2.5pt 4pt; border-bottom: 1px solid #e2e8f0; vertical-align: top; overflow-wrap: break-word; }
.vp-table tr { break-inside: avoid; page-break-inside: avoid; }
.vp-c-code { font-weight: 600; }
.vp-row-added td:first-child { box-shadow: inset 3pt 0 0 #10b981; }
.vp-row-modified td:first-child { box-shadow: inset 3pt 0 0 #f59e0b; }
.vp-row-removed td:first-child { box-shadow: inset 3pt 0 0 #f43f5e; }
.vp-row-removed td { color: #64748b; }
.vp del { color: #be123c; text-decoration: line-through; }
.vp ins { color: #047857; text-decoration: none; font-weight: 600; }
.vp-chip { display: inline-block; padding: 0 5pt; border-radius: 6pt; font-weight: 700; font-size: 7.5pt; }
.vp-chip-added { background: #d1fae5; color: #047857; }
.vp-chip-modified { background: #fef3c7; color: #b45309; }
.vp-chip-removed { background: #ffe4e6; color: #be123c; }
.vp-empty { padding: 10pt 0; color: #64748b; }
.vp-foot { margin-top: 8pt; font-size: 7.5pt; color: #94a3b8; border-top: 1px solid #e2e8f0; padding-top: 3pt; }

/* ---------- Gantt (yönetici görünümü) ---------- */
.gp { font-family: 'Inter', 'Segoe UI', Arial, 'Helvetica Neue', sans-serif; color: #0f172a; font-size: 7.5pt; line-height: 1.25; }
.gp-kicker { font-size: 7.5pt; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #7c3aed; }
.gp h1 { font-size: 15pt; margin: 1pt 0 2pt; }
.gp-meta { color: #475569; margin-bottom: 4pt; }
.gp-filters { margin-bottom: 4pt; padding: 3pt 6pt; border-radius: 4pt; background: #f1f5f9; color: #334155; }
.gp-kpis { display: flex; gap: 6pt; margin: 2pt 0 6pt; }
.gp-kpi { flex: 1 1 0; display: flex; flex-direction: column; gap: 1pt; padding: 4pt 6pt 4pt 8pt; border: 1px solid #e2e8f0; border-left: 3pt solid #94a3b8; border-radius: 4pt; }
.gp-kpi span { font-size: 6.5pt; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: #64748b; }
.gp-kpi b { font-size: 13pt; font-weight: 800; }
.gp-kpi em { font-style: normal; color: #475569; }
.gp-tone-overdue, .gp-tone-h-off_track { border-left-color: #dc2626 !important; }
.gp-tone-overdue b, .gp-tone-h-off_track b { color: #dc2626; }
.gp-tone-soon, .gp-tone-h-at_risk { border-left-color: #f59e0b !important; }
.gp-tone-done, .gp-tone-h-on_track { border-left-color: #16a34a !important; }
.gp-tone-h-finished { border-left-color: #3b82f6 !important; }
.gp-legend { display: flex; flex-wrap: wrap; gap: 3pt 12pt; margin-bottom: 4pt; color: #334155; }
.gp-legend span { display: inline-flex; align-items: center; gap: 4pt; }
.gp-sw-tail { display: inline-block; width: 16pt; height: 3pt; background: repeating-linear-gradient(90deg, rgba(220, 38, 38, 0.7) 0 4pt, rgba(220, 38, 38, 0.25) 4pt 7pt); }
.gp-sw-bar { position: relative; display: inline-block; width: 18pt; height: 6pt; border-radius: 3pt; overflow: hidden; background: #e2e8f0; box-shadow: inset 0 0 0 0.5pt #cbd5e1; }
.gp-sw-bar i { position: absolute; left: 0; top: 0; bottom: 0; width: 55%; background: #94a3b8; }
.gp-sw-today { display: inline-block; width: 1.5pt; height: 9pt; background: #dc2626; }
.gp-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.gp-table thead { display: table-header-group; }
.gp-w-code { width: 6.5%; }
.gp-w-task { width: 24%; }
.gp-w-lead { width: 9%; }
.gp-w-date { width: 6.8%; }
.gp-w-status { width: 9%; }
.gp-table th { background: #f1f5f9; border-bottom: 1pt solid #94a3b8; padding: 2pt 3pt; font-weight: 700; text-align: left; font-size: 6.8pt; text-transform: uppercase; letter-spacing: 0.04em; color: #475569; }
.gp-table td { border-bottom: 1px solid #e5e7eb; padding: 1.5pt 3pt; height: 12pt; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gp-table tr { break-inside: avoid; page-break-inside: avoid; }
.gp-project td { background: #f1f5f9; font-size: 8pt; border-top: 1pt solid #cbd5e1; height: 15pt; }
.gp-company td { background: #fafbfc; color: #334155; }
.gp-company td:first-child { padding-left: 8pt; }
.gp-muted { color: #64748b; font-weight: 400; }
.gp-pstat { float: right; margin-left: 6pt; font-weight: 600; color: #334155; }
.gp-red { color: #b91c1c; }
.gp-c-code { font-family: 'JetBrains Mono', Consolas, monospace; font-weight: 600; }
.gp-k-overdue .gp-c-code { box-shadow: inset 2pt 0 0 #dc2626; }
.gp-k-soon .gp-c-code { box-shadow: inset 2pt 0 0 #f59e0b; }
.gp-c-date { color: #334155; }
.gp-hdot { display: inline-block; width: 6pt; height: 6pt; border-radius: 50%; margin-right: 4pt; vertical-align: -0.5pt; }
.gp-hpill, .gp-pill { display: inline-block; padding: 0.5pt 5pt; border-radius: 6pt; font-weight: 700; font-size: 6.8pt; }
.gp-hpill { color: #fff; }
.gp-hbg-off_track { background: #dc2626; }
.gp-hbg-at_risk { background: #f59e0b; color: #1f1300; }
.gp-hbg-on_track { background: #16a34a; }
.gp-hbg-not_started { background: #94a3b8; }
.gp-hbg-finished { background: #3b82f6; }
.gp-hbg-discontinued { background: #475569; }
.gp-pill-overdue { background: #fee2e2; color: #b91c1c; }
.gp-pill-soon { background: #fef3c7; color: #b45309; }
.gp-pill-active { background: #dbeafe; color: #1d4ed8; }
.gp-pill-planned { background: #eef2f6; color: #475569; }
.gp-pill-done { background: #dcfce7; color: #15803d; }
.gp-pill-nodate { background: #eef2f6; color: #94a3b8; }
.gp-track { position: relative; overflow: hidden; padding: 0 !important; background: #fff !important; }
.gp-track-head { height: 14pt; }
.gp-past { position: absolute; top: 0; bottom: 0; left: 0; background: #f4f6f9; }
.gp-line { position: absolute; top: 0; bottom: 0; width: 0; border-left: 0.5pt solid #e2e8f0; }
.gp-line-year { border-left: 0.75pt solid #64748b; }
.gp-month { position: absolute; top: 3pt; padding-left: 2pt; font-size: 6.3pt; font-weight: 700; white-space: nowrap; text-transform: none; letter-spacing: 0; color: #334155; }
.gp-today { position: absolute; top: 0; bottom: 0; width: 1.2pt; margin-left: -0.6pt; background: #dc2626; z-index: 2; }
.gp-pbar { position: absolute; top: 50%; height: 6pt; margin-top: -3pt; border-radius: 3pt; overflow: hidden; background: #e2e8f0; box-shadow: inset 0 0 0 0.5pt #cbd5e1; z-index: 1; }
.gp-pbar i { position: absolute; left: 0; top: 0; bottom: 0; background: #94a3b8; }
.gp-mk { position: absolute; top: 50%; width: 6.5pt; height: 6.5pt; margin: -3.25pt 0 0 -3.25pt; border-radius: 1pt; transform: rotate(45deg); box-shadow: 0 0 0 0.8pt #fff; z-index: 3; }
.gp-mk-sm { width: 4.5pt; height: 4.5pt; margin: -2.25pt 0 0 -2.25pt; }
.gp-legend .gp-mk, .gp-mk-lg { position: static; display: inline-block; margin: 0 2pt 0 0; width: 6pt; height: 6pt; }
.gp-bg-overdue { background: #dc2626; }
.gp-bg-soon { background: #f59e0b; }
.gp-bg-active { background: #2563eb; }
.gp-bg-planned { background: #94a3b8; }
.gp-bg-done { background: #16a34a; }
.gp-bg-nodate { background: #cbd5e1; }
.gp-tail { position: absolute; top: 50%; height: 2.5pt; margin-top: -1.25pt; background: repeating-linear-gradient(90deg, rgba(220, 38, 38, 0.65) 0 4pt, rgba(220, 38, 38, 0.22) 4pt 7pt); z-index: 2; }
.gp-empty { padding: 10pt 0; color: #64748b; }

/* Renkler ve arka planlar PDF'te korunur */
.vp, .vp *, .gp, .gp * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
