/* Custom application styling */
@import url('https://fonts.googleapis.com/css2?family=Kanit:wght@300;400;500;600;700&family=Noto+Sans+Myanmar:wght@300;400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap');

:root {
  --primary: #2563eb;
  --primary-hover: #1d4ed8;
}

body {
  font-family: 'Kanit', 'Noto Sans SC', 'Noto Sans Myanmar', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background-color: #f8fafc;
  color: #1e293b;
}

/* Kanban column custom scrollbar */
.kanban-col-body {
  max-height: calc(100vh - 270px);
  min-height: 480px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #cbd5e1 transparent;
}

.kanban-col-body::-webkit-scrollbar {
  width: 6px;
}
.kanban-col-body::-webkit-scrollbar-thumb {
  background-color: #cbd5e1;
  border-radius: 9999px;
}

/* Dragging styles */
.kanban-card {
  transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
  cursor: grab;
}

.kanban-card:active {
  cursor: grabbing;
}

.kanban-card.is-dragging {
  opacity: 0.4;
  transform: scale(0.97) rotate(1deg);
}

.kanban-col-body.drag-over {
  background-color: #eff6ff !important;
  border: 2px dashed #3b82f6 !important;
}

/* Numberpass badge style */
.numberpass-badge {
  background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
  color: #92400e;
  border: 1px solid #fcd34d;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

/* Blocker issue pulse */
@keyframes pulse-issue {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(239, 68, 68, 0);
  }
}

.card-has-issue {
  border-left: 4px solid #ef4444 !important;
  animation: pulse-issue 2.5s infinite;
}

/* Photo thumbnail in card */
.photo-thumb {
  object-fit: cover;
  transition: transform 0.2s ease;
}
.photo-thumb:hover {
  transform: scale(1.05);
}

/* Print Container Default: hidden on screen */
#print-container {
  display: none;
}

/* High-Quality Print & PDF Report Styling */
@media print {
  @page {
    size: A4 portrait;
    margin: 10mm 12mm 10mm 12mm;
  }

  html, body {
    background: #ffffff !important;
    color: #0f172a !important;
    margin: 0 !important;
    padding: 0 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  body * {
    visibility: hidden;
  }

  #print-container, #print-container * {
    visibility: visible;
  }

  #print-container {
    display: block !important;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    background: #ffffff !important;
  }

  .print-page-break {
    page-break-before: always;
    break-before: always;
  }

  .print-card, tr, .print-avoid-break {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .no-print {
    display: none !important;
  }
}
