/* ==========================================================================
   Seçim tutanakları — ekran önizlemesi ve A4 çıktı
   Referans belgeler:
     Sandık Sayım.docx            (yatay A4 — ortak bazlı sayım çizelgesi)
     SandıkSonuçSayımı.docx       (dikey A4 — sandık sonuç tutanağı)
     SayımSonuçBelgesi.docx       (dikey A4 — genel sayım sonuç tutanağı)
   ========================================================================== */

.doc-toolbar {
  display: flex; gap: 9px; align-items: center; flex-wrap: wrap;
  margin-bottom: 14px; padding: 12px 14px;
  background: var(--card); border: 1px solid var(--line); border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.doc-scroll { overflow-x: auto; padding-bottom: 10px; }

/* --------------------------- Sayfa --------------------------- */

.doc {
  position: relative;
  background: #fff;
  margin: 0 auto 18px;
  color: #000;
  font-family: "Times New Roman", Times, serif;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .18);
}
/* Dikey A4 */
.doc--portrait { width: 210mm; min-height: 297mm; padding: 12mm 12mm 10mm; }
/* Yatay A4 — Sandık Sayım Çizelgesi referansı yatay düzendedir. */
.doc--landscape { width: 297mm; min-height: 210mm; padding: 9mm 10mm 8mm; }

/* TASLAK filigranı: kesinleşmemiş belgelerde nihai tutanakla karışmayı önler. */
.doc--draft::before {
  content: "TASLAK";
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 120px; font-weight: 800; letter-spacing: 12px;
  color: rgba(200, 30, 30, .13);
  transform: rotate(-32deg);
  pointer-events: none; z-index: 5;
}

.doc__head { display: flex; align-items: center; gap: 12px; margin-bottom: 6mm; }
.doc__logo { width: 22mm; height: auto; }
.doc__titles { flex: 1; text-align: center; }
.doc__company { font-size: 12pt; font-weight: 700; letter-spacing: .3px; }
.doc__title { font-size: 13pt; font-weight: 700; margin-top: 2mm; text-transform: uppercase; }
.doc__meta {
  display: flex; justify-content: space-between; gap: 14px;
  font-size: 10.5pt; font-weight: 700; margin: 3mm 0 4mm;
}
.doc__section { font-size: 11pt; font-weight: 700; margin: 4mm 0 2mm; }

/* --------------------------- Tablolar --------------------------- */

.doc table { width: 100%; border-collapse: collapse; }
.doc th, .doc td {
  border: 1px solid #000; padding: 1.1mm 1.6mm;
  font-size: 9.5pt; vertical-align: middle;
}
.doc th { font-weight: 700; text-align: center; background: #f2f2f2; }
.doc td.num, .doc th.num { text-align: right; font-variant-numeric: tabular-nums; }
.doc td.c, .doc th.c { text-align: center; }
.doc tr.doc-total td { font-weight: 700; background: #f2f2f2; }

/* Çizelgede aday sütunları dar ve dik başlıklıdır (referans belgedeki gibi). */
.doc-tally th.cand {
  font-size: 8pt; line-height: 1.15; padding: 1mm .6mm;
  min-width: 13mm; max-width: 22mm; word-break: break-word;
}
.doc-tally td { font-size: 8.5pt; padding: .8mm 1.2mm; }
.doc-tally th { font-size: 8pt; padding: 1mm .8mm; }

/* Sonuç tutanaklarında aday tablosu iki sütunlu ızgara (referans belgedeki düzen). */
.doc-cands { display: grid; grid-template-columns: 1fr 1fr; gap: 0 6mm; }
.doc-cands--single { grid-template-columns: 1fr; }

.doc__summary { width: 92mm; margin-top: 4mm; }
.doc__summary td:first-child { font-weight: 700; }

/* --------------------------- İmza blokları --------------------------- */

.doc__signs { margin-top: 7mm; }
.doc__signs-title { font-size: 10.5pt; font-weight: 700; margin-bottom: 2mm; }
.doc__signs table td {
  border: 1px solid #000; text-align: center; font-size: 9.5pt;
  padding: 2mm 1.5mm; vertical-align: top;
}
.doc__signs .role { font-weight: 700; padding-bottom: 1mm; }
.doc__signs .name { text-align: left; padding: 2.5mm 2mm 1mm; }
.doc__signs .sign { text-align: left; padding: 2.5mm 2mm; }
.doc__signs-row { display: flex; gap: 6mm; align-items: flex-start; }
.doc__signs-row > div { flex: 1; }

/* Masa listesi: uzun ortak listeleri, imza sütunlu */
.doc-desklist td { padding: 1.4mm 1.6mm; font-size: 9.5pt; }
.doc-desklist tbody tr { height: 6mm; }

.doc__note { font-size: 9.5pt; line-height: 1.5; margin: 5mm 0 3mm; text-align: justify; }
.doc__footer { font-size: 8pt; color: #444; margin-top: 4mm; text-align: right; }

/* --------------------------- Yazdırma --------------------------- */

@media print {
  /* Uygulama kabuğu çıktıya girmez. */
  body > *:not(#print-root) { display: none !important; }
  #print-root { display: block !important; }

  .doc {
    box-shadow: none; margin: 0; width: auto; min-height: 0;
    page-break-after: always; break-after: page;
  }
  .doc:last-child { page-break-after: auto; break-after: auto; }
  .doc--portrait { padding: 10mm 10mm 8mm; }
  .doc--landscape { padding: 8mm 9mm 7mm; }

  /* Uzun çizelgelerde başlık her sayfada tekrar etsin, satır ortadan bölünmesin. */
  .doc thead { display: table-header-group; }
  .doc tfoot { display: table-footer-group; }
  .doc tr { page-break-inside: avoid; break-inside: avoid; }
  .doc__signs { page-break-inside: avoid; break-inside: avoid; }

  /* Çok sayfalı taslak belgelerde (uzun masa listesi, kalabalık sayım çizelgesi)
     mutlak konumlu filigran yalnızca tek bir sayfada görünürdü. `fixed` kullanıldığında
     tarayıcı filigranı HER sayfada tekrar basar; böylece taslak bir çıktının tek bir
     sayfası kesin tutanakla karıştırılamaz. */
  .doc--draft::before {
    position: fixed;
    color: rgba(200, 30, 30, .18);
  }
}

/* Sayfa yönü belge türüne göre ayarlanır; yazdırma anında gövdeye sınıf eklenir. */
@page { size: A4 portrait; margin: 0; }
body.print-landscape { }
