/* ==========================================================================
   İTO — İş Başvuru Formu / Çıktı Belgesi Stilleri
   #printDoc içeriğinin görünümü. Hem yazdırmada hem PDF üretiminde kullanılır.
   Bu dosya #printDoc'u görünür yapmaz; görünürlüğü print.css (baskı),
   body.pdf-mode (PDF üretimi) ve body.doc-measuring (sayfalama ölçümü) yönetir.

   ÖNEMLİ — SAYFA ÖLÇÜSÜ ÜÇ YERDE AYNI OLMALIDIR:
     .doc-page yüksekliği ....... 270mm   (bu dosya)
     @page kenar boşluğu ........ 13.5mm 12mm  (print.css)
     html2pdf margin ............ [13.5, 12, 13.5, 12]  (app.js)
   A4 = 297mm; 297 − 2×13.5 = 270mm. Bu üçü ayrışırsa sayfa kaymaları
   yeniden ortaya çıkar.
   ========================================================================== */

body.pdf-mode { background: #fff; }

/* PDF üretimi sırasında ekran arayüzünü gizle.
   Burada "body'nin tüm çocukları" gibi genel bir kural KULLANILMAZ:
   html2pdf çalışırken kendi kabını (.html2pdf__overlay > .html2pdf__container)
   body'ye ekler; böyle bir kural onu da gizler, tuval 0×0 ölçüsünde kalır ve
   boş PDF üretilir. Yalnızca kendi arayüz bloklarımız hedeflenir. */
body.pdf-mode .topbar,
body.pdf-mode .page,
body.pdf-mode .navbar,
body.pdf-mode .autosave-pill,
body.pdf-mode .restore-bar {
  display: none !important;
}

body.pdf-mode #printDoc {
  display: block;
  width: 186mm;          /* A4 genişliği (210mm) eksi 2×12mm kenar boşluğu */
  margin: 0 auto;
  background: #fff;
}

/* Sayfalama hesaplanırken belge ekran dışında ölçülür; kullanıcı bir şey görmez. */
body.doc-measuring #printDoc {
  display: block;
  position: absolute;
  left: -99999px;
  top: 0;
  width: 186mm;
  background: #fff;
}

/* --------------------------------------------------------------------------
   BELGE GÖVDESİ
   -------------------------------------------------------------------------- */
.doc {
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-size: 9pt;
  line-height: 1.35;
  color: #111;
  background: #fff;
}

.doc * { box-sizing: border-box; }

/* --------------------------------------------------------------------------
   SAYFA KUTUSU
   İçerik JavaScript tarafından ölçülerek bu kutulara dağıtılır; hiçbir blok
   iki sayfaya bölünmez.
   -------------------------------------------------------------------------- */
.doc-page {
  position: relative;
  width: 100%;
  height: 270mm;
  overflow: visible;
  /* Yanlardaki güvenlik payı — SIFIRLANMAMALIDIR.
     Bu pay olmadan teal başlık şeritleri, tablo kenarları ve yaslanmış metnin
     son harfleri sayfanın en dış piksel sütununa değer. PDF verisi doğru olsa
     bile tarayıcıların gömülü PDF görüntüleyicileri ve yazıcı sürücüleri
     ölçekleme sırasında en dış sütunu yuvarlayarak kırptığı için içerik
     kesikmiş gibi görünür (Acrobat'ta görünmez, tarayıcıda görünür). */
  padding: 0 4mm;
}

.doc-page + .doc-page {
  break-before: page;
  page-break-before: always;
}

/* Ölçüm sırasında yükseklik serbest bırakılır; aksi hâlde sayfa kutusu
   sabit 270mm okunur ve "doldu mu?" karşılaştırması her blokta doğru çıkar. */
body.doc-measuring .doc-page { height: auto; }

/* Sayfa başındaki ilk bloğun üst boşluğu sayfayı aşağı kaydırmasın */
.doc-page > *:first-child { margin-top: 0 !important; }

/* --------------------------------------------------------------------------
   BAŞLIK BLOĞU
   -------------------------------------------------------------------------- */
.doc-header {
  display: flex;
  align-items: flex-start;
  gap: 10mm;
  padding-bottom: 3mm;
  border-bottom: 1.5pt solid #00808E;
  margin-bottom: 4mm;
}

.doc-header-main { flex: 1; min-width: 0; }

.doc-logo {
  height: 14mm;
  width: auto;
  display: block;
  margin-bottom: 2mm;
}

.doc-title {
  margin: 0;
  font-size: 15pt;
  font-weight: bold;
  color: #00808E;
  letter-spacing: .02em;
}

.doc-subtitle {
  margin: 1mm 0 0;
  font-size: 8.5pt;
  color: #444;
}

.doc-meta {
  margin: 2mm 0 0;
  font-size: 8pt;
  color: #666;
}

.doc-photo {
  width: 26mm;
  height: 34mm;
  flex-shrink: 0;
  border: .75pt solid #999;
  overflow: hidden;
  background: #f4f4f4;
}

.doc-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

.doc-photo-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  font-size: 7pt;
  color: #999;
  text-align: center;
  padding: 2mm;
}

/* --------------------------------------------------------------------------
   BÖLÜM BAŞLIĞI
   -------------------------------------------------------------------------- */
/* DİKKAT: Burada "text-transform: uppercase" KULLANILMAZ.
   PDF'i çizen html2canvas bu dönüşümü kendi içinde düz toUpperCase() ile
   uygular ve Türkçe yerel ayarı bilmez; "Bilgileri" metnini "BILGILERI"
   diye basar ("BİLGİLERİ" olması gerekirken). Başlıklar app.js içindeki
   baslik() fonksiyonunda toLocaleUpperCase('tr-TR') ile büyütülür. */
.doc-sec-title {
  background: #00808E;
  color: #fff;
  font-size: 9pt;
  font-weight: bold;
  letter-spacing: .04em;
  padding: 1.4mm 2.5mm;
  margin: 3.5mm 0 2mm;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

/* --------------------------------------------------------------------------
   ETİKET / DEĞER LİSTESİ
   -------------------------------------------------------------------------- */
.doc-kv {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 5mm;
  margin-bottom: 2mm;
}

.kv-row {
  display: flex;
  align-items: baseline;
  gap: 2mm;
  padding: 1.1mm 0;
  border-bottom: .5pt solid #dfe6e7;
}

.kv-row.wide { grid-column: 1 / -1; }

/* Tam genişlik satırlarda etiket oranı yarıya iner; aksi hâlde değer
   sayfanın ortasından başlar ve sütunlarla hizasız görünür. */
.kv-row.wide .kv-label { flex: 0 0 20.5%; }

.kv-label {
  flex: 0 0 42%;
  font-size: 8pt;
  color: #4a5f63;
  font-weight: bold;
}

.kv-value {
  flex: 1;
  min-width: 0;
  font-size: 9pt;
  color: #111;
  /* Uzun metinler kırpılmadan alt satıra taşar — veri kaybını önler.
     DEĞER "break-word" OLMALIDIR, "anywhere" DEĞİL: PDF'i çizen html2canvas
     yalnızca normal/break-word değerlerini tanır, "anywhere" gördüğünde
     hiç bölmez ve boşluksuz uzun metinler komşu sütunun üzerine taşar. */
  overflow-wrap: break-word;
  word-break: break-word;
  white-space: pre-wrap;
}

.kv-value.empty { color: #9aa8ab; }

/* --------------------------------------------------------------------------
   TABLOLAR
   -------------------------------------------------------------------------- */
.doc-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  margin-bottom: 2mm;
}

.doc-table th {
  background: #e8f2f3;
  color: #00505a;
  font-size: 7.5pt;
  font-weight: bold;
  text-align: left;
  padding: 1.3mm 1.8mm;
  border: .5pt solid #b9ceD1;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.doc-table td {
  font-size: 8.5pt;
  padding: 1.3mm 1.8mm;
  border: .5pt solid #cdd9db;
  vertical-align: top;
  overflow-wrap: break-word;
  word-break: break-word;
  white-space: pre-wrap;
}

.doc-table .idx { width: 7mm; text-align: center; color: #778; }

/* --------------------------------------------------------------------------
   METİN BLOKLARI
   -------------------------------------------------------------------------- */
.doc-text {
  font-size: 8.5pt;
  line-height: 1.45;
  /* Yaslama (justify) kullanılmaz: satır sonundaki harfleri tam kenara
     dayadığı için kırpılma riskini görünür kılar ve okunurluğu düşürür. */
  text-align: left;
  margin: 0 0 2mm;
  overflow-wrap: break-word;
}

.doc-note {
  border: .5pt solid #cdd9db;
  background: #f7fafa;
  padding: 2mm 2.5mm;
  font-size: 8.5pt;
  line-height: 1.45;
  margin-bottom: 2mm;
  white-space: pre-wrap;
  overflow-wrap: break-word;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.doc-consent {
  font-size: 8.5pt;
  font-weight: bold;
  padding: 1.5mm 2.5mm;
  border: .75pt solid #00808E;
  background: #eff8f9;
  margin-bottom: 2mm;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.doc-empty {
  font-size: 8.5pt;
  color: #8a9a9d;
  font-style: italic;
  padding: 1mm 0;
  margin: 0 0 2mm;
}

/* --------------------------------------------------------------------------
   İMZA BLOĞU
   -------------------------------------------------------------------------- */
.doc-sign {
  display: flex;
  gap: 8mm;
  margin-top: 4mm;
}

.doc-sign-cell { flex: 1; }

.doc-sign-label {
  font-size: 7.5pt;
  color: #4a5f63;
  font-weight: bold;
  margin-bottom: 1mm;
}

/* Üç hücrenin alt çizgisi aynı düzlemde kalmalıdır. Yükseklik sabittir;
   aksi hâlde boş olan "İMZA" hücresinin çizgisi diğerlerinden yukarıda kalır. */
.doc-sign-value {
  font-size: 9.5pt;
  height: 13mm;
  padding-top: 1mm;
  border-bottom: .75pt solid #333;
  box-sizing: border-box;
  overflow: hidden;
}

/* --------------------------------------------------------------------------
   SAYFA ALT BİLGİSİ
   Akış yüksekliğini etkilememesi için konumlandırılmıştır; ayrılan pay
   app.js içindeki ALTLIK_PAYI_MM ile aynıdır.
   -------------------------------------------------------------------------- */
.doc-footer {
  position: absolute;
  /* .doc-page'in yan güvenlik payıyla hizalı kalmalıdır */
  left: 4mm;
  right: 4mm;
  bottom: 0;
  height: 9mm;
  padding-top: 2mm;
  border-top: .5pt solid #cdd9db;
  font-size: 7pt;
  color: #777;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 5mm;
}
