/* ==========================================================================
   NEXUS STAY - High-Level Management Print & Executive PDF Stylesheet
   ========================================================================== */

@media print {
  /* Hide interactive UI elements */
  .sidebar,
  .topbar,
  .mobile-bottom-nav,
  .mobile-kpi-float,
  .report-action-header,
  .btn,
  .btn-primary,
  .btn-outline,
  .toast-container,
  .modal-overlay,
  .offline-banner {
    display: none !important;
  }

  /* Reset document flow */
  body, html {
    background: #ffffff !important;
    color: #000000 !important;
    font-size: 11pt !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .main-wrapper {
    margin-left: 0 !important;
    padding: 0 !important;
  }

  .content-view {
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .report-document {
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .report-header-band {
    border-bottom: 2pt solid #0f172a !important;
    padding-bottom: 12pt !important;
    margin-bottom: 16pt !important;
  }

  .report-brand-logo {
    height: 48pt !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .exec-score-banner {
    background: #091326 !important;
    color: #ffffff !important;
    padding: 12pt !important;
    border-radius: 4pt !important;
    margin-bottom: 16pt !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .exec-kpi-ring {
    color: #38bdf8 !important;
    font-size: 24pt !important;
  }

  .report-table {
    width: 100% !important;
    border-collapse: collapse !important;
    page-break-inside: auto !important;
    font-size: 9pt !important;
  }

  .report-table tr {
    page-break-inside: avoid !important;
    page-break-after: auto !important;
  }

  .report-table th {
    background: #f1f5f9 !important;
    color: #000000 !important;
    border: 1pt solid #cbd5e1 !important;
    padding: 6pt !important;
    font-size: 8pt !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .report-table td {
    border: 1pt solid #cbd5e1 !important;
    padding: 6pt !important;
  }

  .table-thumb {
    width: 45pt !important;
    height: 45pt !important;
  }

  .code-badge-btn {
    border: 1pt solid #000 !important;
    font-weight: bold !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .no-print,
  .report-filter-bar {
    display: none !important;
  }

  .report-dept-section {
    page-break-inside: auto !important;
  }

  .report-dept-header {
    background: #091326 !important;
    color: #ffffff !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
    page-break-after: avoid !important;
  }

  .report-cat-header {
    background: #f1f5f9 !important;
    border-left: 4pt solid #2563eb !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
    page-break-after: avoid !important;
  }

  .report-item-card {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    border: 1pt solid #cbd5e1 !important;
    box-shadow: none !important;
    margin-bottom: 8pt !important;
    padding: 8pt !important;
  }

  .report-row-card {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    background: #ffffff !important;
    border: 1pt solid #e2e8f0 !important;
    color: #0f172a !important;
    box-shadow: none !important;
    margin-bottom: 4pt !important;
    padding: 5pt 8pt !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  .report-row-card.row-border-pass { border-left: 3pt solid #10b981 !important; }
  .report-row-card.row-border-warning { border-left: 3pt solid #f59e0b !important; }
  .report-row-card.row-border-danger { border-left: 3pt solid #ef4444 !important; }
  .report-row-card.row-border-na { border-left: 3pt solid #94a3b8 !important; }

  .row-num-tag {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  .badge-pass { background-color: #ecfdf5 !important; color: #065f46 !important; border: 1pt solid #a7f3d0 !important; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .badge-warning { background-color: #fffbeb !important; color: #92400e !important; border: 1pt solid #fde68a !important; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .badge-danger { background-color: #fef2f2 !important; color: #991b1b !important; border: 1pt solid #fecaca !important; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .badge-na { background-color: #f1f5f9 !important; color: #475569 !important; border: 1pt solid #cbd5e1 !important; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .row-deficiency-box {
    background-color: #fff1f2 !important;
    border: 1pt solid #fecdd3 !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .badge-result-pass,
  .badge-result-warning,
  .badge-result-danger,
  .badge-result-na,
  .note-deficiency,
  .note-followup {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .report-signoff-grid {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    margin-top: 30pt !important;
    padding-top: 15pt !important;
    border-top: 1pt dashed #94a3b8 !important;
  }
  .signoff-box {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
  .signoff-role {
    font-size: 8pt !important;
    font-weight: 700 !important;
    color: #475569 !important;
  }
  .signoff-space {
    height: 35pt !important;
  }
  .signoff-line {
    width: 160pt !important;
    border-bottom: 1.5pt solid #0f172a !important;
    margin-bottom: 4pt !important;
  }
  .signoff-name {
    font-size: 9pt !important;
    font-weight: 800 !important;
    color: #0f172a !important;
  }
  .signoff-title {
    font-size: 7.5pt !important;
    color: #475569 !important;
  }
  .signoff-date {
    font-size: 7pt !important;
    color: #64748b !important;
  }

  /* Excel Table Print Rules */
  .excel-table-wrapper {
    overflow: visible !important;
    border: none !important;
    background: transparent !important;
    margin-bottom: 12pt !important;
  }
  .report-excel-table {
    width: 100% !important;
    min-width: 100% !important;
    border-collapse: collapse !important;
    background: #ffffff !important;
    border: 1.5pt solid #0f172a !important;
  }
  .report-excel-table th {
    background: #091326 !important;
    color: #ffffff !important;
    border: 1pt solid #334155 !important;
    padding: 4pt 6pt !important;
    font-size: 7.5pt !important;
    font-weight: 800 !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  .excel-row-dept td {
    background: #1e3a8a !important;
    color: #ffffff !important;
    border: 1pt solid #1e3a8a !important;
    padding: 4pt 6pt !important;
    font-size: 8pt !important;
    font-weight: 800 !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
    page-break-after: avoid !important;
  }
  .excel-dept-title { color: #ffffff !important; }
  .excel-dept-pill {
    background: rgba(255, 255, 255, 0.2) !important;
    color: #ffffff !important;
    border: 1pt solid rgba(255, 255, 255, 0.3) !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  .excel-row-cat td {
    background: #f1f5f9 !important;
    color: #0f172a !important;
    border: 1pt solid #cbd5e1 !important;
    border-left: 3pt solid #2563eb !important;
    padding: 3.5pt 6pt !important;
    font-size: 7.5pt !important;
    font-weight: 700 !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
    page-break-after: avoid !important;
  }
  .excel-cat-title { color: #0f172a !important; }
  .excel-cat-pill {
    background: #ffffff !important;
    color: #475569 !important;
    border: 1pt solid #cbd5e1 !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  .excel-row-item td {
    background: #ffffff !important;
    color: #0f172a !important;
    border: 1pt solid #e2e8f0 !important;
    padding: 3.5pt 5pt !important;
    font-size: 7pt !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }
  .excel-row-item:nth-child(even) td {
    background: #f8fafc !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  .excel-row-item.row-deficiency-highlight td {
    background: #fff1f2 !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  .item-code-tag {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  .item-title-text { color: #0f172a !important; }
  .item-subarea-tag {
    background: #f8fafc !important;
    color: #64748b !important;
    border: 1pt solid #e2e8f0 !important;
  }
  .excel-deficiency-box { background: transparent !important; }
  .excel-finding-line { color: #991b1b !important; }
  .excel-meta-line { color: #9a3412 !important; }
  .excel-solution-line { color: #15803d !important; }
  .excel-thumb-img {
    border: 1pt solid #cbd5e1 !important;
    width: 28pt !important;
    height: 28pt !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
  .excel-dept-row,
  .excel-cat-row {
    display: table !important;
    width: 100% !important;
  }
  .excel-dept-title,
  .excel-cat-title {
    display: table-cell !important;
    text-align: left !important;
    vertical-align: middle !important;
  }
  .excel-dept-pill,
  .excel-cat-pill {
    display: table-cell !important;
    text-align: right !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
  }
  .excel-item-title {
    display: block !important;
    line-height: 1.35 !important;
    word-break: normal !important;
  }
  .excel-photo-hint { display: none !important; }
  .excel-note-text { color: #475569 !important; }
  .excel-unscored-text {
    color: #64748b !important;
    font-style: italic !important;
    font-size: 7pt !important;
  }
  .badge-unscored {
    background-color: #f1f5f9 !important;
    color: #64748b !important;
    border: 1pt dashed #cbd5e1 !important;
    font-weight: 700 !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

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

/* Force remove all outlines and backgrounds from all logos in print */
.desk-hero-logo, .login-brand-logo, .brand-logo-img, .brand-logo-mobile, .report-brand-logo, .gr-brand-logo, #dash-hotel-logo, .gr-brand-wrap img, .report-brand-wrap img {
  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

/* Print optimization for Hotel Statistics and Guest Incidents */
.report-stats-income-wrapper {
  page-break-inside: avoid !important;
  break-inside: avoid !important;
  margin-top: 10pt !important;
  padding-top: 8pt !important;
  border-top: 1pt dashed #cbd5e1 !important;
}
.report-stat-income-title {
  color: #0f172a !important;
  font-size: 8.5pt !important;
  font-weight: 800 !important;
}
.report-stat-income-subtitle {
  color: #475569 !important;
  font-size: 7pt !important;
}
.report-stats-table-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 8pt !important;
}
.report-stat-col-card {
  background: #f8fafc !important;
  border: 1pt solid #cbd5e1 !important;
  border-radius: 4pt !important;
  padding: 6pt 8pt !important;
}
.report-stat-col-title {
  color: #0369a1 !important;
  font-size: 7.5pt !important;
  font-weight: 700 !important;
  margin-bottom: 4pt !important;
}
.report-stat-table {
  width: 100% !important;
  font-size: 7.5pt !important;
  border-collapse: collapse !important;
}
.report-stat-table td {
  padding: 2pt 0 !important;
}
.report-stat-table .stat-label {
  color: #475569 !important;
}
.report-stat-table .stat-val {
  color: #0f172a !important;
  font-weight: 700 !important;
  text-align: right !important;
}
.report-stat-table .stat-total-row {
  border-top: 1pt solid #cbd5e1 !important;
}
.report-stat-table .stat-total-row .stat-label {
  color: #0f172a !important;
  font-weight: 800 !important;
}
.report-stat-table .stat-val-revenue {
  color: #059669 !important;
  font-weight: 800 !important;
}
.report-stat-table .stat-val-occ {
  color: #2563eb !important;
  font-weight: 800 !important;
}
.report-stat-table .stat-val-revpar {
  color: #7c3aed !important;
  font-weight: 800 !important;
}

.report-incident-section {
  page-break-inside: avoid !important;
  break-inside: avoid !important;
  margin-top: 12pt !important;
}
.report-incident-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 7.5pt !important;
  background: #ffffff !important;
  border: 1pt solid #64748b !important;
}
.report-incident-table thead tr {
  background: #f1f5f9 !important;
}
.report-incident-table th {
  border: 0.5pt solid #94a3b8 !important;
  padding: 4pt 6pt !important;
  color: #1e293b !important;
  font-weight: 700 !important;
}
.report-incident-table td {
  border: 0.5pt solid #cbd5e1 !important;
  padding: 4pt 6pt !important;
  color: #334155 !important;
}
.report-incident-table .inc-no {
  color: #64748b !important;
  text-align: center !important;
}
.report-incident-table .inc-area {
  color: #0284c7 !important;
  font-weight: 700 !important;
}
.report-incident-table .inc-complaint {
  color: #dc2626 !important;
  font-weight: 600 !important;
}
.report-incident-table .inc-note {
  color: #0f172a !important;
}
.report-incident-empty {
  background: #f8fafc !important;
  border: 1pt solid #cbd5e1 !important;
  border-radius: 4pt !important;
  padding: 8pt 10pt !important;
  margin-top: 6pt !important;
  display: flex !important;
  align-items: center !important;
  gap: 6pt !important;
}
.report-incident-empty-text {
  color: #475569 !important;
  font-size: 7.5pt !important;
}

/* Analyze Complaint & Deficiencies Print Styles */
#printable-analyze-complaint-report {
  background: #ffffff !important;
  color: #0f172a !important;
}
#printable-analyze-complaint-report .report-header-band {
  border-bottom: 2pt solid #0f172a !important;
}
#printable-analyze-complaint-report .multi-report-title {
  color: #0284c7 !important;
}
#printable-analyze-complaint-report .multi-report-sub {
  color: #475569 !important;
}
#printable-analyze-complaint-report .analyze-meta-label {
  color: #475569 !important;
  font-weight: 700 !important;
}
#printable-analyze-complaint-report .analyze-meta-val {
  color: #0f172a !important;
  font-weight: 800 !important;
}
#printable-analyze-complaint-report .analyze-section-title,
#printable-analyze-complaint-report .analyze-section-wrap h3 {
  color: #0f172a !important;
  font-size: 10pt !important;
  font-weight: 800 !important;
}
#printable-analyze-complaint-report .analyze-section-count {
  color: #64748b !important;
}
.analyze-table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: #ffffff !important;
  border: 1pt solid #64748b !important;
  font-size: 8pt !important;
}
.analyze-table th {
  background: #f1f5f9 !important;
  color: #0f172a !important;
  border: 1pt solid #cbd5e1 !important;
  padding: 4pt 6pt !important;
  font-weight: 700 !important;
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}
.analyze-table td {
  border: 1pt solid #e2e8f0 !important;
  padding: 4pt 6pt !important;
  color: #1e293b !important;
  background: #ffffff !important;
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}
.analyze-table tbody tr:nth-child(even) td {
  background: #f8fafc !important;
}
.analyze-table .analyze-entity-cell {
  color: #0f172a !important;
  font-weight: 800 !important;
}
.analyze-table .analyze-type-cell,
.analyze-table .analyze-complaint-cell,
.analyze-table .analyze-defect-cell {
  color: #1e293b !important;
}
.analyze-table .analyze-date-cell,
.analyze-table .analyze-note-cell {
  color: #475569 !important;
}
.analyze-table .analyze-mod-cell {
  color: #0f172a !important;
}
.analyze-freq-badge {
  background: #fee2e2 !important;
  color: #b91c1c !important;
  border: 1pt solid #f87171 !important;
  border-radius: 8pt !important;
  padding: 1pt 4pt !important;
  font-weight: 800 !important;
  font-size: 7pt !important;
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}
.analyze-freq-badge.freq-defect {
  background: #fef3c7 !important;
  color: #b45309 !important;
  border-color: #fcd34d !important;
}
.analyze-freq-badge.freq-general {
  background: #e0f2fe !important;
  color: #0369a1 !important;
  border-color: #7dd3fc !important;
}

/* Multi-Audit Quality Summary Print Styles */
.exec-score-banner-multi {
  padding: 8pt 12pt !important;
  margin-bottom: 6pt !important;
}
.multi-report-section-title {
  margin-top: 0 !important;
  margin-bottom: 4pt !important;
  font-size: 8.5pt !important;
}
.multi-dept-container {
  display: flex !important;
  flex-direction: column !important;
  gap: 5pt !important;
  margin-bottom: 8pt !important;
  width: 100% !important;
}
.multi-dept-row {
  display: flex !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 6pt !important;
  width: 100% !important;
}
.multi-dept-card {
  flex: 0 1 180pt !important;
  width: 180pt !important;
  max-width: 190pt !important;
  background: #ffffff !important;
  border: 1.5pt solid #64748b !important;
  border-radius: 6pt !important;
  padding: 6pt 8pt !important;
  box-sizing: border-box !important;
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}
.multi-dept-name {
  color: #0f172a !important;
  font-weight: 800 !important;
}
.multi-audit-table-wrap {
  margin-bottom: 8pt !important;
}
.multi-audit-table,
.multi-deficiency-table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: #ffffff !important;
  border: 1pt solid #64748b !important;
  font-size: 8pt !important;
}
.multi-audit-table th,
.multi-deficiency-table th {
  background: #f1f5f9 !important;
  color: #0f172a !important;
  border: 1pt solid #cbd5e1 !important;
  padding: 5pt 7pt !important;
  font-weight: 700 !important;
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}
.multi-audit-table td,
.multi-deficiency-table td {
  border: 1pt solid #e2e8f0 !important;
  padding: 5pt 7pt !important;
  color: #1e293b !important;
  background: #ffffff !important;
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}
.multi-audit-table tbody tr:nth-child(even) td,
.multi-deficiency-table tbody tr:nth-child(even) td {
  background: #f8fafc !important;
}
.multi-date-cell {
  color: #0369a1 !important;
  font-weight: 700 !important;
}
.multi-area-cell {
  color: #0f172a !important;
}
.multi-remark-cell {
  color: #dc2626 !important;
  font-weight: 600 !important;
}
.multi-col-action,
th.multi-col-action,
td.multi-col-action,
.multi-report-sign-section {
  display: none !important;
}
.status-badge-done {
  background: #dcfce7 !important;
  color: #15803d !important;
  border: 1pt solid #86efac !important;
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}
.status-badge-progress {
  background: #ffedd5 !important;
  color: #c2410c !important;
  border: 1pt solid #fdba74 !important;
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}
.status-badge-open {
  background: #fee2e2 !important;
  color: #b91c1c !important;
  border: 1pt solid #fca5a5 !important;
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}


