/* ========================================================================== 
   KVPL Medical Claims - Dedicated PDF / Print Standard v2.8.7
   Loaded only for print. All existing Print / Save PDF views use dedicated
   report markup so screen-theme styling cannot leak into PDF output.
   ========================================================================== */

@page reportLandscape {
  size: A4 landscape;
  margin: 9mm 8mm 11mm;
}

html, body {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: #fff !important;
  color: #241f1d !important;
  color-scheme: light !important;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", "Segoe UI", system-ui, sans-serif !important;
  font-size: 9pt !important;
  line-height: 1.3 !important;
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
}

/* App chrome and interactive screen view never enter exported PDF. */
.sidebar,.sidebar-backdrop,.topbar,.app-footer,.flash-stack,.no-print,
.filter-card,.screen-report-view,.btn,.table-action,.icon-button,.menu-toggle {
  display: none !important;
}
.app-shell,.main-area,.content-wrap,.print-report {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: #fff !important;
}
.print-report-landscape,.pdf-report-view { page: reportLandscape; }
.pdf-report-view.print-only {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #241f1d !important;
}

/* Corporate header: light, compact and readable in colour or grayscale. */
.print-report-brand {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8mm !important;
  margin: 0 0 4mm !important;
  padding: 0 0 2.6mm !important;
  border-bottom: 1.2pt solid #6B352A !important;
  background: #fff !important;
  break-inside: avoid !important;
}
.print-report-brand-left { display: flex !important; align-items: center !important; gap: 3mm !important; }
.print-report-brand-left img { display: block !important; width: 18mm !important; height: 13mm !important; object-fit: contain !important; }
.print-report-brand-left strong,.print-report-brand-left span,.print-report-brand-right strong,.print-report-brand-right span { display: block !important; }
.print-report-brand-left strong { color: #2d2522 !important; font-size: 10.5pt !important; line-height: 1.1 !important; }
.print-report-brand-left span { margin-top: .7mm !important; color: #6d625d !important; font-size: 7.4pt !important; }
.print-report-brand-right { text-align: right !important; }
.print-report-brand-right strong { color: #6B352A !important; font-size: 7.4pt !important; letter-spacing: .08em !important; }
.print-report-brand-right span { margin-top: .7mm !important; color: #756a65 !important; font-size: 6.8pt !important; }

/* Report title and metadata. */
.pdf-title-row {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12mm !important;
  margin: 0 0 4mm !important;
  break-inside: avoid !important;
}
.pdf-title-row > div:first-child { min-width: 0 !important; flex: 1 !important; }
.pdf-kicker { margin: 0 0 1mm !important; color: #6B352A !important; font-size: 7pt !important; font-weight: 800 !important; letter-spacing: .11em !important; }
.pdf-title-row h1 { margin: 0 !important; color: #241f1d !important; font-size: 17.5pt !important; line-height: 1.08 !important; letter-spacing: -.01em !important; }
.pdf-title-row p { margin: 1.2mm 0 0 !important; color: #655c58 !important; font-size: 8.3pt !important; line-height: 1.3 !important; }
.pdf-title-meta { flex: 0 0 auto !important; min-width: 30mm !important; padding-top: .8mm !important; text-align: right !important; }
.pdf-title-meta span,.pdf-title-meta strong,.pdf-title-meta small { display: block !important; }
.pdf-title-meta span { color: #7d716b !important; font-size: 6.5pt !important; font-weight: 700 !important; letter-spacing: .07em !important; }
.pdf-title-meta strong { margin-top: 1mm !important; color: #3e302b !important; font-size: 10.5pt !important; }
.pdf-title-meta small { margin-top: .5mm !important; color: #766a65 !important; font-size: 7pt !important; }

/* Compact employee/report metadata. */
.pdf-meta-grid {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  margin: 0 0 3.5mm !important;
  border: 1px solid #dacfc8 !important;
  border-radius: 1.5mm !important;
  overflow: hidden !important;
  background: #fff !important;
  break-inside: avoid !important;
}
.pdf-meta-grid > div { min-width: 0 !important; padding: 2.4mm 2.8mm !important; border-right: 1px solid #e5dcd6 !important; }
.pdf-meta-grid > div:last-child { border-right: 0 !important; }
.pdf-meta-grid span,.pdf-meta-grid strong,.pdf-meta-grid small { display: block !important; }
.pdf-meta-grid span { color: #7b706a !important; font-size: 6.4pt !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: .045em !important; }
.pdf-meta-grid strong { margin-top: .9mm !important; color: #302725 !important; font-size: 8.7pt !important; line-height: 1.2 !important; overflow-wrap: anywhere !important; }
.pdf-meta-grid small { margin-top: .5mm !important; color: #756a65 !important; font-size: 7pt !important; overflow-wrap: anywhere !important; }

/* KPI summary. Accent is a thin rule, never coloured body text. */
.pdf-kpi-grid {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 2.5mm !important;
  margin: 0 0 4mm !important;
  break-inside: avoid !important;
}
.pdf-kpi {
  min-width: 0 !important;
  padding: 2.5mm 2.8mm !important;
  border: 1px solid #d9d1cc !important;
  border-top: 2pt solid #6B352A !important;
  border-radius: 1.5mm !important;
  background: #fff !important;
}
.pdf-kpi span,.pdf-kpi strong,.pdf-kpi small { display: block !important; }
.pdf-kpi span { color: #736862 !important; font-size: 6.4pt !important; font-weight: 700 !important; letter-spacing: .04em !important; text-transform: uppercase !important; }
.pdf-kpi strong { margin-top: .9mm !important; color: #241f1d !important; font-size: 10.8pt !important; line-height: 1.15 !important; font-variant-numeric: tabular-nums !important; overflow-wrap: anywhere !important; }
.pdf-kpi small { margin-top: .7mm !important; color: #766c67 !important; font-size: 6.8pt !important; line-height: 1.25 !important; overflow-wrap: anywhere !important; }

/* Sections */
.pdf-section { margin: 0 0 4mm !important; padding: 0 !important; background: #fff !important; }
.pdf-section-heading { display: flex !important; align-items: flex-end !important; justify-content: space-between !important; margin: 0 0 1.8mm !important; padding: 0 !important; break-after: avoid !important; }
.pdf-section-heading h2 { margin: 0 !important; color: #302725 !important; font-size: 11pt !important; line-height: 1.15 !important; }
.pdf-section-heading p { margin: .6mm 0 0 !important; color: #766c67 !important; font-size: 7.1pt !important; }

/* Purpose-built tables. */
.pdf-table {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  table-layout: fixed !important;
  color: #241f1d !important;
  font-size: 8.2pt !important;
  line-height: 1.25 !important;
}
.pdf-table thead { display: table-header-group !important; }
.pdf-table tfoot { display: table-footer-group !important; }
.pdf-table tr { break-inside: avoid !important; page-break-inside: avoid !important; }
.pdf-table th {
  padding: 2.1mm 1.6mm !important;
  border: 1px solid #cfc6c0 !important;
  background: #f1ece8 !important;
  color: #493b36 !important;
  font-size: 7pt !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  letter-spacing: .025em !important;
  text-transform: uppercase !important;
  text-align: left !important;
  vertical-align: bottom !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
.pdf-table td {
  padding: 2.15mm 1.6mm !important;
  border: 1px solid #ddd6d1 !important;
  background: #fff !important;
  color: #2b2421 !important;
  vertical-align: top !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
.pdf-table tbody tr:nth-child(even):not(.pdf-detail-row) td { background: #fcfaf8 !important; }
.pdf-table td strong { color: #2b2421 !important; font-weight: 700 !important; }
.pdf-table td small { display: block !important; margin-top: .6mm !important; color: #756b66 !important; font-size: 7pt !important; line-height: 1.22 !important; overflow-wrap: anywhere !important; }
.pdf-table .num { text-align: right !important; font-variant-numeric: tabular-nums !important; }
.pdf-table td.num { white-space: nowrap !important; }
.pdf-table .pdf-status { color: #3e302b !important; font-size: 7.4pt !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: .015em !important; }
.pdf-detail-row td { padding-top: 1.4mm !important; padding-bottom: 1.4mm !important; background: #f8f4f1 !important; color: #5d514c !important; font-size: 7.3pt !important; }
.pdf-detail-row td:first-child { border-right-color: #f8f4f1 !important; }
.pdf-empty { padding: 5mm !important; color: #6f6560 !important; text-align: center !important; }

.pdf-note,.pdf-footnote { color: #6f6560 !important; font-size: 6.8pt !important; line-height: 1.3 !important; }
.pdf-note { margin: 2mm 0 0 !important; }
.pdf-footnote { margin: 3mm 0 0 !important; padding-top: 2mm !important; border-top: 1px solid #ded7d2 !important; text-align: right !important; }

/* If a non-dedicated page is printed manually, keep it legible and low-ink. */
body :not(.pdf-report-view) .card,
body :not(.pdf-report-view) .table-card {
  box-shadow: none !important;
}

/* Avoid browser-added URL suffixes. */
a[href]::after { content: none !important; }

/* v3.0.5: employee photos are screen-only and never appear in printed/PDF output. */
@media print {
  .employee-profile-avatar,
  .employee-option-avatar,
  .employee-photo-editor { display:none!important; }
}
