/**
 * Global Print Stylesheet — Session 67 Phase 4
 * ใช้กับทุกหน้า — กดปุ่ม "🖨 พิมพ์/PDF" หรือ Ctrl+P → ได้ PDF ที่สวยงาม
 *
 * แนวคิด:
 *  - ซ่อน nav, sidebar, ปุ่มต่าง ๆ, search bars ตอนพิมพ์
 *  - คงเฉพาะ content หลัก (data, tables, charts)
 *  - บีบความหนาแน่น สีเข้ม ตัดเงา
 *  - แสดงโลโก้ + URL บนหัวกระดาษ + วันที่พิมพ์
 */

@media print {
  /* Reset */
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
  }
  body {
    background: #fff !important;
    color: #000 !important;
    font-size: 11pt;
    line-height: 1.4;
  }

  /* Hide chrome */
  .top-nav, .topnav, .top_nav, .nav-bar, .nav,
  .sidebar, .side-nav, .v-side, .village-sub-nav,
  .actions, .row-actions, .form-actions, .btn-row,
  button, .btn, .floating-action,
  form input[type="search"], .search-bar, .filter-chips,
  .pagination, .breadcrumb,
  .global-print-btn, .global-print-bar,
  .tn-leave, .nav-back, .back-link,
  .toast, .modal, .dialog, .tooltip,
  iframe, video, audio,
  [data-no-print], [hidden].no-print {
    display: none !important;
  }

  /* Show only-print */
  [data-print-only] {
    display: block !important;
  }

  /* Layout */
  .main, main, .content, .container, .page {
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  /* Headers cleaner */
  .page-header {
    border-bottom: 2px solid #000;
    padding-bottom: 8px;
    margin-bottom: 14px;
  }
  .page-header h1 { font-size: 18pt; margin: 0; }
  .page-header .subtitle { font-size: 10pt; color: #555; }

  /* Cards — ตัดเงา border อ่อน */
  .card {
    box-shadow: none !important;
    border: 1px solid #ccc !important;
    page-break-inside: avoid;
    background: #fff !important;
    margin-bottom: 10px !important;
    padding: 10px 12px !important;
  }
  .card-header {
    border-bottom: 1px solid #ddd;
    padding-bottom: 6px !important;
    margin-bottom: 8px !important;
  }
  .card-header h2 { font-size: 13pt; margin: 0; }

  /* Tables */
  table.data, table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 10pt;
    page-break-inside: auto;
  }
  table th, table td {
    border: 1px solid #999 !important;
    padding: 5px 8px !important;
    background: #fff !important;
    color: #000 !important;
  }
  table thead {
    display: table-header-group;
  }
  table thead th {
    background: #e5e7eb !important;
    font-weight: 700;
  }
  table tr {
    page-break-inside: avoid;
  }

  /* Stats cards */
  .stats {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 8px !important;
  }
  .stat {
    border: 1px solid #999 !important;
    padding: 8px !important;
    box-shadow: none !important;
    page-break-inside: avoid;
  }
  .stat .value { font-size: 18pt; font-weight: 700; }
  .stat .label { font-size: 9pt; color: #555; }

  /* Tags / chips */
  .tag {
    border: 1px solid #999 !important;
    padding: 1px 6px !important;
    font-size: 9pt !important;
  }

  /* Charts: chart.js canvas */
  canvas {
    max-width: 100% !important;
    height: auto !important;
    page-break-inside: avoid;
  }

  /* Page break helpers */
  .page-break          { page-break-before: always; }
  .page-break-after    { page-break-after: always; }
  .no-break            { page-break-inside: avoid; }

  /* Add print header (logo + date) */
  body::before {
    content: "🏘 Village MS — พิมพ์เมื่อ " counter(page);
    display: block;
    font-size: 9pt;
    color: #888;
    text-align: right;
    margin-bottom: 8px;
    border-bottom: 1px solid #ddd;
    padding-bottom: 4px;
  }

  /* Page setup */
  @page {
    size: A4;
    margin: 1.2cm 1cm;
  }
  @page :first {
    margin-top: 1cm;
  }
}

/* ─── Floating print button (visible on screen, hidden when printing) ─── */
.global-print-btn {
  position: fixed;
  bottom: 80px;
  right: 18px;
  z-index: 100;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  color: #fff;
  border: 0;
  box-shadow: 0 4px 14px rgba(99, 102, 241, .35);
  font-size: 22px;
  cursor: pointer;
  transition: all .2s;
  display: grid;
  place-items: center;
}
.global-print-btn:hover {
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 8px 20px rgba(99, 102, 241, .5);
}
.global-print-btn:active {
  transform: scale(0.95);
}
.global-print-btn::after {
  content: "PDF";
  position: absolute;
  bottom: -14px;
  font-size: 9px;
  font-weight: 700;
  color: #6366f1;
  background: #fff;
  padding: 1px 6px;
  border-radius: 6px;
  box-shadow: 0 1px 3px rgba(0,0,0,.1);
}

/* Hide on mobile portal (LIFF) — those have own native */
.mobile-page .global-print-btn,
[data-layout="mobile"] .global-print-btn { display: none; }
