/* Custom CSS & Print Styles for Delivery Routes WebApp */
@import url('https://fonts.googleapis.com/css2?family=Prompt:wght@300;400;500;600;700&family=Sarabun:wght@300;400;500;600;700&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;
  -webkit-font-smoothing: antialiased;
}

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

/* Drag and Drop styling */
.draggable-row {
  cursor: grab;
  transition: background-color 0.15s ease, transform 0.15s ease;
}
.draggable-row:active {
  cursor: grabbing;
}
.draggable-row.dragging {
  opacity: 0.4;
  background-color: #e0e7ff !important;
}
.draggable-row.drag-over {
  border-top: 3px solid #4f46e5 !important;
}

/* Print specific stylesheet */
@media print {
  /* Hide non-printable elements */
  .no-print,
  #header-nav,
  #action-bar,
  #filter-controls,
  #toast-container,
  .modal,
  #reorder-save-banner,
  .action-buttons-col,
  #pagination-bar {
    display: none !important;
  }

  body {
    background: #ffffff !important;
    color: #000000 !important;
    font-size: 11pt !important;
    font-family: var(--font-sarabun) !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .print-only {
    display: block !important;
  }

  .print-page-container {
    padding: 10mm 15mm !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  /* Table styling for print */
  table.print-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-top: 10px !important;
    font-size: 10.5pt !important;
  }

  table.print-table th,
  table.print-table td {
    border: 1px solid #333333 !important;
    padding: 6px 8px !important;
    color: #000000 !important;
  }

  table.print-table th {
    background-color: #f3f4f6 !important;
    font-weight: bold !important;
    text-align: center !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

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

  @page {
    size: A4 portrait;
    margin: 10mm 10mm 10mm 10mm;
  }

  .print-header {
    border-bottom: 2px solid #000;
    padding-bottom: 8px;
    margin-bottom: 12px;
  }

  .print-footer {
    margin-top: 20px;
    page-break-inside: avoid !important;
  }
}

.print-only {
  display: none;
}

/* Animations */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.animate-fade-in {
  animation: fadeIn 0.2s ease-out forwards;
}

/* Badges */
.badge-transfer {
  background-color: #ede9fe;
  color: #6d28d9;
  border: 1px solid #ddd6fe;
}
.badge-cash {
  background-color: #f1f5f9;
  color: #475569;
}
