/* สไตล์หลักของเว็บแอปพลิเคชันค้นหาข้อมูล Google Sheets */
@import url('https://fonts.googleapis.com/css2?family=Prompt:wght@300;400;500;600;700&family=Sarabun:wght@300;400;500;600&display=swap');

:root {
  --font-prompt: 'Prompt', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-sarabun: 'Sarabun', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

body {
  font-family: var(--font-prompt);
  background-color: #f8fafc;
  color: #1e293b;
  min-height: 100vh;
}

.font-sarabun {
  font-family: var(--font-sarabun);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: #f1f5f9;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb {
  background: #cbd5e1;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

/* Table container styling */
.table-responsive {
  max-height: 65vh;
  overflow-y: auto;
  overflow-x: auto;
}

/* Sticky Table Header */
.sticky-header th {
  position: sticky;
  top: 0;
  z-index: 10;
  background-color: #0f172a;
  color: #f8fafc;
}

/* Status Badges */
.badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.65rem;
  border-radius: 9999px;
  font-size: 0.775rem;
  font-weight: 500;
  line-height: 1.2;
}

.badge-success {
  background-color: #ecfdf5;
  color: #065f46;
  border: 1px solid #a7f3d0;
}

.badge-warning {
  background-color: #fffbeb;
  color: #92400e;
  border: 1px solid #fde68a;
}

.badge-danger {
  background-color: #fef2f2;
  color: #991b1b;
  border: 1px solid #fecaca;
}

.badge-info {
  background-color: #eff6ff;
  color: #1e40af;
  border: 1px solid #bfdbfe;
}

.badge-neutral {
  background-color: #f1f5f9;
  color: #475569;
  border: 1px solid #e2e8f0;
}

/* Search Highlight */
mark.search-highlight {
  background-color: #fef08a;
  color: #854d0e;
  padding: 0.1em 0.25em;
  border-radius: 0.25rem;
  font-weight: 600;
}

/* Card hover transitions */
.stat-card {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.stat-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.04);
}

/* Pulsing sync dot */
@keyframes pulse-dot {
  0% { transform: scale(0.95); opacity: 0.8; }
  50% { transform: scale(1.15); opacity: 1; }
  100% { transform: scale(0.95); opacity: 0.8; }
}
.pulse-indicator {
  animation: pulse-dot 2s infinite ease-in-out;
}

/* Multi-select filter styles */
.multi-filter-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.2rem 0.55rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  background-color: #e0e7ff;
  color: #3730a3;
  border: 1px solid #c7d2fe;
  font-weight: 500;
  transition: all 0.15s ease;
}
.multi-filter-pill:hover {
  background-color: #c7d2fe;
}
.multi-filter-pill button {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  color: #4338ca;
}
.multi-filter-pill button:hover {
  color: #1e1b4b;
}

/* Floating tooltip animation & styling */
#appFloatingTooltip {
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.4), 0 8px 10px -6px rgba(0, 0, 0, 0.2);
  pointer-events: none;
  font-family: var(--font-prompt);
}

/* Modal PDF iframe */
.pdf-viewer-frame {
  width: 100%;
  height: 60vh;
  min-height: 480px;
  border: 1px solid #e2e8f0;
  border-radius: 0.75rem;
  background-color: #f8fafc;
}

/* Print styles for PDF and Printing */
@media print {
  @page {
    size: landscape;
    margin: 10mm;
  }

  body {
    background-color: #ffffff !important;
    color: #000000 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* ซ่อนส่วนที่ไม่ต้องการพิมพ์ */
  header,
  footer,
  #statCardsSection,
  #searchFilterSection,
  #globalErrorAlert,
  #detailModal,
  .pagination-controls,
  #actionButtons,
  #colVisibilityMenu,
  .col-action-header,
  .col-action-cell,
  .no-print {
    display: none !important;
  }

  /* แสดงส่วนหัวรายงานเฉพาะตอนพิมพ์ */
  #printReportHeader {
    display: block !important;
    margin-bottom: 1.25rem !important;
  }

  #tableSection {
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  .table-responsive {
    max-height: none !important;
    overflow: visible !important;
  }

  table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 8.5pt !important;
    table-layout: auto !important;
  }

  thead {
    display: table-header-group !important;
  }

  th, td {
    border: 1px solid #94a3b8 !important;
    padding: 5px 6px !important;
    color: #0f172a !important;
    line-height: 1.25 !important;
    word-break: break-word !important;
  }

  th {
    background-color: #f1f5f9 !important;
    color: #0f172a !important;
    font-weight: 700 !important;
    position: static !important;
  }

  tfoot {
    display: table-footer-group !important;
    background-color: #f8fafc !important;
    font-weight: 700 !important;
  }

  tr {
    page-break-inside: avoid !important;
  }

  .badge {
    border: 1px solid #cbd5e1 !important;
    background-color: transparent !important;
    color: #000000 !important;
    padding: 1px 4px !important;
  }
}

