@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&family=Sarabun:wght@300;400;500;600;700&display=swap');

:root {
  --color-cream: #fbfaf7;
  --color-beige: #f5f2eb;
  --color-charcoal: #1a1a1a;
  --color-gold: #c5a880;
  --color-gold-dark: #b39268;
  --color-gold-light: #dfcfb8;
  --color-gray: #71717a;
  --color-border: #e4e4e7;
}

body {
  font-family: 'Sarabun', 'Montserrat', sans-serif;
  background-color: var(--color-cream);
  color: var(--color-charcoal);
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Montserrat', 'Sarabun', sans-serif;
  font-weight: 600;
}

/* Custom Gold Accent Styles */
.gold-border {
  border-color: var(--color-gold);
}

.gold-bg {
  background-color: var(--color-gold);
}

.gold-text {
  color: var(--color-gold-dark);
}

.gold-hover:hover {
  background-color: var(--color-gold-dark);
  color: white;
}

.focus-gold:focus {
  outline: none;
  border-color: var(--color-gold);
  box-shadow: 0 0 0 2px rgba(197, 168, 128, 0.2);
}

/* Scrollbar Customization for Luxury Feel */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: var(--color-cream);
}

::-webkit-scrollbar-thumb {
  background: var(--color-gold-light);
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--color-gold);
}

/* --- PRINT-SPECIFIC CSS --- */
@media print {
  /* Hide interactive application UI components */
  .no-print, nav, sidebar, button, .btn, .alert, aside {
    display: none !important;
  }
  
  #draft-print-area {
    display: block !important;
  }
  
  /* Reset page backgrounds and margins */
  html, body {
    background-color: #fff !important;
    color: #000 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    font-size: 13pt;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* Override Tailwind layout containers to span 100% full width */
  main, .flex-1, .max-w-7xl, .space-y-6, .p-6, .px-6, .py-6 {
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Documents Summary Table Print Enhancements */
  .print-documents-header {
    display: block !important;
    padding-bottom: 12px !important;
    margin-bottom: 20px !important;
    border-bottom: 3px solid #000 !important;
  }

  .print-documents-header h2 {
    font-size: 16pt !important;
    font-weight: 800 !important;
    color: #000 !important;
  }

  .documents-table-box {
    display: block !important;
    width: 100% !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .documents-table-box table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 12pt !important;
  }

  .documents-table-box th {
    background-color: #f5f2eb !important;
    color: #000 !important;
    font-size: 11pt !important;
    font-weight: 700 !important;
    padding: 10px 14px !important;
    border: 1.5px solid #000 !important;
  }

  .documents-table-box td {
    font-size: 11pt !important;
    font-weight: 500 !important;
    color: #000 !important;
    padding: 10px 14px !important;
    border: 1px solid #000 !important;
  }

  /* Hide the Action buttons column on print */
  .documents-table-box th:last-child,
  .documents-table-box td:last-child {
    display: none !important;
  }

  /* Target printing wrapper specifically */
  .print-container {
    display: block !important;
    width: 210mm !important;
    height: 297mm !important;
    padding: 15mm 15mm !important;
    margin: 0 !important;
    box-shadow: none !important;
    border: none !important;
    page-break-after: avoid;
    page-break-inside: avoid;
  }

  /* Table styling for printers */
  table {
    width: 100% !important;
    border-collapse: collapse !important;
  }

  th, td {
    border: 1px solid #1a1a1a !important;
    padding: 8px 10px !important;
  }

  /* Ensure lines and colors show clearly in PDF export */
  .bg-beige-print {
    background-color: #fcfbfa !important;
  }

  .border-gold-print {
    border-color: #c5a880 !important;
  }
}

/* Custom print container on-screen preview (A4 proportions & Responsive) */
.a4-preview-container {
  width: 100%;
  max-width: 210mm;
  min-height: 297mm;
  padding: 16mm;
  margin: 0 auto;
  background: white;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
  border: 1px solid var(--color-beige);
  box-sizing: border-box;
}

@media (max-width: 640px) {
  .a4-preview-container {
    padding: 14px;
    min-height: auto;
    border-radius: 12px;
    font-size: 13px;
  }
}

/* Custom utility classes */
.beige-card {
  background-color: #fbfaf7;
  border: 1px solid #f5f2eb;
}

.table-header {
  background-color: var(--color-beige);
  color: var(--color-charcoal);
  font-weight: 600;
}
