/**
 * Print Stylesheet for Visual Line Item Matching
 * Provides a clean, professional layout for printing the visual matching view
 */

@media print {
  @page {
    margin: 0.5in;
    size: landscape;
  }

  /* Hide elements that shouldn't be printed */
  header,
  nav,
  .hidden,
  button:not(.print-keep),
  input[type="checkbox"],
  input[type="text"],
  input[type="range"],
  .export-dropdown,
  [data-visual-matching-target="exportDropdown"],
  [data-visual-matching-target="exportMenu"],
  [data-visual-matching-target="pullToRefreshIndicator"],
  .md\:hidden,
  .print-hide {
    display: none !important;
  }

  /* Reset body styles */
  body {
    background: white !important;
    color: black !important;
    font-size: 10pt;
    line-height: 1.4;
  }

  /* Container adjustments */
  .min-h-screen {
    min-height: auto;
  }

  .container {
    max-width: 100%;
    padding: 0;
  }

  /* Header section */
  .text-2xl,
  .text-3xl {
    font-size: 18pt !important;
    color: #0f172a !important;
    margin-bottom: 8pt;
  }

  .text-lg,
  .text-base {
    font-size: 11pt !important;
    color: #475569 !important;
  }

  /* Legend - make it compact */
  .bg-slate-800.rounded-lg {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    padding: 8pt !important;
    page-break-inside: avoid;
  }

  .bg-slate-800.rounded-lg .flex-wrap {
    flex-wrap: nowrap;
    gap: 8pt;
  }

  .text-slate-400 {
    color: #64748b !important;
  }

  .text-slate-300,
  .text-slate-200 {
    color: #1e293b !important;
  }

  /* Summary stats */
  .grid.grid-cols-2,
  .grid.md\:grid-cols-4 {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 8pt !important;
    page-break-inside: avoid;
  }

  .summary-card,
  .bg-slate-800.border {
    background: white !important;
    border: 1px solid #d1d5db !important;
    padding: 8pt !important;
  }

  .text-2xl {
    font-size: 16pt !important;
  }

  .text-sm {
    font-size: 9pt !important;
  }

  /* Visual matching container */
  .bg-slate-800.overflow-hidden {
    background: white !important;
    border: 1px solid #d1d5db !important;
    overflow: visible !important;
  }

  /* Hide controls section in print */
  .border-b.border-slate-700 {
    display: none !important;
  }

  /* Main visual area */
  .grid.md\:grid-cols-2 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
  }

  /* Column headers */
  .sticky.top-0.bg-slate-700 {
    position: static !important;
    background: #f1f5f9 !important;
    border-bottom: 2px solid #0f172a !important;
    padding: 6pt !important;
  }

  .text-sm.font-semibold {
    font-size: 10pt !important;
    color: #0f172a !important;
  }

  /* Line items */
  .divide-y > div {
    padding: 6pt !important;
    border-bottom: 1px solid #e5e7eb !important;
    page-break-inside: avoid;
  }

  /* Remove hover effects */
  .hover\:bg-slate-700\/50:hover,
  .hover\:bg-slate-600:hover {
    background: transparent !important;
  }

  /* Item descriptions */
  .text-xs {
    font-size: 8pt !important;
  }

  .text-sm.text-slate-200 {
    font-size: 9pt !important;
    color: #0f172a !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  /* Operation code badges */
  .px-1\.5.py-0\.5.rounded {
    padding: 2pt 4pt !important;
    background: #e2e8f0 !important;
    color: #475569 !important;
    border: 1px solid #cbd5e1 !important;
  }

  /* Match strategy badges */
  .bg-green-500\/30 {
    background: #dcfce7 !important;
    color: #166534 !important;
  }

  .bg-blue-500\/30 {
    background: #dbeafe !important;
    color: #1e40af !important;
  }

  .bg-purple-500\/30 {
    background: #f3e8ff !important;
    color: #6b21a8 !important;
  }

  .bg-amber-500\/30 {
    background: #fef3c7 !important;
    color: #92400e !important;
  }

  /* Connection point indicators */
  .w-3.h-3.rounded-full {
    width: 8pt !important;
    height: 8pt !important;
    border: 1px solid #334155 !important;
  }

  .bg-green-500 {
    background: #22c55e !important;
  }

  .bg-red-500 {
    background: #ef4444 !important;
  }

  .bg-purple-500 {
    background: #a855f7 !important;
  }

  /* Unmatched indicators */
  .bg-red-500\/10 {
    background: #fee2e2 !important;
  }

  .border-red-500 {
    border-color: #ef4444 !important;
  }

  .bg-purple-500\/10 {
    background: #faf5ff !important;
  }

  .border-purple-500 {
    border-color: #a855f7 !important;
  }

  /* Leader Line SVG elements - hide in print as they don't render well */
  [data-visual-matching-target="linesContainer"],
  .leader-line {
    display: none !important;
  }

  /* Instructions - make smaller */
  .text-center.py-4 {
    font-size: 8pt !important;
    color: #6b7280 !important;
    page-break-before: avoid;
  }

  /* Max height restrictions */
  .max-h-\[70vh\] {
    max-height: none !important;
    overflow: visible !important;
  }

  /* Force black text for better printing */
  .text-slate-100,
  .text-slate-200,
  .text-slate-300 {
    color: #1e293b !important;
  }

  .text-slate-400,
  .text-slate-500 {
    color: #64748b !important;
  }

  /* Background colors */
  .bg-slate-950,
  .bg-slate-900,
  .bg-slate-800,
  .bg-slate-700 {
    background: white !important;
  }

  /* Border colors */
  .border-slate-700,
  .border-slate-600 {
    border-color: #d1d5db !important;
  }

  /* Hide scrollbars */
  ::-webkit-scrollbar {
    display: none;
  }

  /* Page breaks */
  .page-break-before {
    page-break-before: always;
  }

  .page-break-after {
    page-break-after: always;
  }

  .page-break-inside-avoid {
    page-break-inside: avoid;
  }

  /* Add header for each printed page */
  @page {
    @top-center {
      content: "Visual Line Item Matching";
    }
  }
}
