/* Custom styles for AARA Consultancy Application Portal */

@layer base {
  body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

/* Custom Table Borders & Print Styling */
table {
  border-collapse: collapse;
}

/* Printable Page Container for Screen & Print */
.print-page {
  box-sizing: border-box;
  background-color: #ffffff;
  width: 100%;
  max-width: 800px;
}

/* ============================================================ */
/* Print Specific Rules for Official Gujarati Form             */
/* ============================================================ */
@media print {
  @page {
    size: A4 portrait;
    margin: 8mm 10mm 8mm 10mm;
  }

  html, body {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    background: #ffffff !important;
    color: #000000 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Hide website UI headers, hero, form card, footers, toasts, modal backdrops */
  header,
  footer,
  section,
  #applicationFormCard,
  .no-print,
  #toast,
  .bg-gradient-to-r,
  #submissionsModal,
  .backdrop-blur-xs,
  .bg-slate-900\/80 {
    display: none !important;
  }

  /* Unravel the modal completely so browser print engine renders all pages */
  #printModal {
    display: block !important;
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: auto !important;
  }

  #printModal > div {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
  }

  #printModal .bg-slate-100 {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
  }

  #officialFormPrintArea {
    box-shadow: none !important;
    border: none !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
    overflow: visible !important;
  }

  /* Exact A4 Pages in Print */
  .print-page {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
    padding: 0 0 0 0 !important;
    margin: 0 0 0 0 !important;
    box-shadow: none !important;
    border: none !important;
    background: #ffffff !important;
  }

  #printPage1 {
    page-break-after: always !important;
    break-after: page !important;
  }

  #printPage2 {
    page-break-before: always !important;
    break-before: page !important;
    page-break-after: auto !important;
    break-after: auto !important;
  }

  table {
    page-break-inside: avoid;
    width: 100% !important;
  }

  tr {
    page-break-inside: avoid;
  }

  /* Force borders to print crisp solid black */
  .border,
  .border-b,
  .border-t,
  .border-l,
  .border-r,
  th,
  td {
    border-color: #000000 !important;
  }

  /* Ensure background colors in table headers print if enabled */
  th {
    background-color: #f1f5f9 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

/* Signature Pad Canvas Styling */
#signatureCanvas {
  touch-action: none;
  cursor: crosshair;
}

/* Animations and transitions */
.fade-in {
  animation: fadeIn 0.25s ease-in-out;
}

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

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