/* ═══════════════════════════════════════════════════════════════
   EMPLOYEE ALLOCATION — PRINT STYLESHEET
   Transforms the dark dashboard into a single-page light report
   styled like a Leadership Staffing Report (burgundy header,
   slate-blue table headers, serif typography).

   Load AFTER employee-allocation.css. The @media print block only
   activates when printing or exporting to PDF (Cmd+P / Ctrl+P).

   The .ea-print-only class shows the report header (date, source
   line) only when printing.
   ═══════════════════════════════════════════════════════════════ */

/* Hide print-only elements on screen */
.ea-print-only { display: none; }

/* Export button styling (visible on screen) */
.ea-export-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 14px;
  background: transparent; border: 1px solid var(--border);
  color: var(--muted); cursor: pointer;
  font-family: 'DM Sans', sans-serif; font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .5px;
  border-radius: 7px;
  transition: all .15s;
}
.ea-export-btn:hover { border-color: #fff; color: #fff; }
.ea-export-btn-icon { font-size: 13px; }

/* ═══════════════════════════════════════════════════════════════
   PRINT MEDIA
   ═══════════════════════════════════════════════════════════════ */

@media print {

  /* ─── Page setup ─── */
  @page {
    size: letter;
    margin: 0.4in 0.5in 0.5in 0.5in;
  }

  /* Burgundy color palette for print */
  :root {
    --print-burgundy: #5b1419;
    --print-burgundy-dark: #3d0e12;
    --print-burgundy-light: #f4ebeb;
    --print-slate: #4a5568;
    --print-slate-light: #e2e8f0;
    --print-text: #1a1a1a;
    --print-muted: #6b7280;
    --print-border: #d1d5db;
    --print-bg: #ffffff;
    --print-tile-bg: #f5f5f5;
    --print-row-alt: #fafafa;
    --print-green: #166534;
    --print-red: #b91c1c;
    --print-amber: #92400e;
  }

  /* ─── Hide everything not part of the report ─── */
  /* Both ids covered: #page-utilization is the original drop-in target;
     #page-allocationv2 is the Vista integration's separate v2 route. */
  body * { visibility: hidden; }
  #page-utilization, #page-utilization *,
  #page-allocationv2, #page-allocationv2 * { visibility: visible; }

  /* Vista wraps the whole SPA in #vista-root, so we can't use the
     `body > *:not(#page-X)` trick (it would hide the wrapper and
     therefore the whole page). Hide chrome by class instead. */
  .topbar, .nav-menu, .user-menu, .settings-menu,
  .sidebar, header, footer,
  .ea-header, .ea-search-wrap,
  .ea-export-btn-wrap, .ea-export-btn,
  .ea-period-bar, .ea-data-banner {
    display: none !important;
  }
  /* Inactive pages stay hidden so the print job only shows the EA report. */
  .page:not(.active) { display: none !important; }

  /* ─── Page background and base text ─── */
  html, body, #page-utilization, #page-allocationv2 {
    background: var(--print-bg) !important;
    color: var(--print-text) !important;
    overflow: visible !important;
    height: auto !important;
    position: static !important;
  }

  .page.active { display: block !important; height: auto !important; }
  .ea-body {
    padding: 0 !important;
    gap: 6px !important;
    background: var(--print-bg) !important;
    overflow: visible !important;
    height: auto !important;
  }

  /* ─── PRINT REPORT HEADER ─── */
  .ea-print-only { display: block !important; }

  .ea-print-header {
    background: var(--print-burgundy) !important;
    color: #fff !important;
    padding: 10px 16px 9px !important;
    margin: 0 0 8px 0 !important;
    border-radius: 0 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    page-break-after: avoid;
  }
  .ea-print-header-top {
    display: flex; justify-content: space-between; align-items: baseline;
  }
  .ea-print-title {
    font-family: 'DM Serif Display', Georgia, serif !important;
    font-size: 22pt !important; color: #fff !important;
    line-height: 1.05;
  }
  .ea-print-date {
    font-family: 'DM Sans', sans-serif;
    font-size: 9pt; color: #fff;
  }
  .ea-print-sub {
    font-family: 'DM Sans', sans-serif;
    font-size: 9pt; color: #f0d4d6;
    margin-top: 2px;
  }
  .ea-print-meta {
    display: flex; justify-content: space-between; align-items: baseline;
    margin-top: 6px;
    font-family: 'DM Sans', sans-serif;
    font-size: 8.5pt; color: #e0bdc0;
  }
  .ea-print-meta-bullet { margin: 0 6px; }

  /* ─── IDENTITY CARD (print) ─── */
  .ea-identity-card {
    background: var(--print-burgundy-light) !important;
    border: none !important;
    border-left: 4px solid var(--print-burgundy) !important;
    border-radius: 0 !important;
    padding: 8px 12px !important;
    margin-bottom: 8px !important;
    page-break-after: avoid;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .ea-identity-card::before { display: none !important; }
  .ea-avatar { display: none !important; }
  .ea-identity-info { flex: 1 !important; }
  .ea-identity-name {
    font-family: 'DM Serif Display', Georgia, serif !important;
    font-size: 14pt !important; color: var(--print-burgundy) !important;
    line-height: 1.1;
  }
  .ea-identity-title {
    font-family: 'DM Sans', sans-serif;
    font-size: 9.5pt; color: var(--print-text) !important;
    margin-top: 1px !important;
  }
  .ea-identity-tags { margin-top: 4px !important; gap: 4px !important; }
  .ea-tag {
    background: transparent !important;
    border: 1px solid var(--print-border) !important;
    color: var(--print-muted) !important;
    font-size: 7pt !important;
    padding: 1px 6px !important;
  }
  .ea-tag.dept { color: var(--print-text) !important; }
  .ea-tag.office {
    background: transparent !important;
    color: var(--print-burgundy) !important;
    border-color: var(--print-burgundy) !important;
  }

  /* ─── SUMMARY TILES (print) ─── */
  .ea-summary {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr 1fr !important;
    gap: 6px !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    margin-bottom: 8px !important;
    page-break-after: avoid;
  }
  .ea-summary-cell {
    background: var(--print-tile-bg) !important;
    border: none !important;
    border-left: 3px solid var(--print-burgundy) !important;
    border-radius: 0 !important;
    padding: 6px 10px !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .ea-summary-cell.alert {
    background: var(--print-tile-bg) !important;
    border-left-color: var(--print-burgundy-dark) !important;
  }
  .ea-summary-lbl {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 7.5pt !important; color: var(--print-muted) !important;
    margin-bottom: 4px !important;
    letter-spacing: .6px !important;
  }
  .ea-summary-lbl .ea-dot { display: none !important; }
  .ea-summary-val {
    font-family: 'DM Serif Display', Georgia, serif !important;
    font-size: 19pt !important; color: var(--print-burgundy) !important;
    letter-spacing: 0 !important;
    line-height: 1 !important;
  }
  .ea-summary-val.red { color: var(--print-burgundy) !important; }
  .ea-summary-val.green { color: var(--print-burgundy) !important; }
  .ea-summary-val.amber { color: var(--print-burgundy) !important; }
  .ea-summary-val::after {
    content: ' FTE';
    font-size: 11pt;
    font-weight: 400;
  }
  .ea-summary-cell.alert .ea-summary-val::after { content: ''; }
  .ea-summary-sub {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 7.5pt !important; color: var(--print-muted) !important;
    margin-top: 3px !important;
  }
  .ea-currency { display: none !important; }
  .ea-no-ts-flag {
    color: var(--print-amber) !important;
    background: transparent !important;
    border-color: var(--print-amber) !important;
  }

  /* ─── SECTION HEADERS (print) ─── */
  .ea-section-head {
    margin-top: 6px !important;
    margin-bottom: 4px !important;
    page-break-after: avoid;
  }
  .ea-section-title {
    font-family: 'DM Serif Display', Georgia, serif !important;
    font-size: 13pt !important;
    color: var(--print-burgundy) !important;
  }
  .ea-section-meta {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 8pt !important;
    color: var(--print-muted) !important;
    margin-top: 1px !important;
  }
  .ea-legend {
    font-family: 'DM Sans', sans-serif !important;
    color: var(--print-muted) !important;
    font-size: 8pt !important;
  }
  .ea-legend-dot { width: 8px !important; height: 8px !important; }

  /* ─── CLIENT ALLOCATION TABLE (print) ─── */
  .ea-table {
    background: var(--print-bg) !important;
    border: 1px solid var(--print-border) !important;
    border-radius: 0 !important;
    overflow: visible !important;
    page-break-inside: avoid;
  }
  .ea-row {
    grid-template-columns: 110px 1fr 100px !important;
    padding: 6px 12px !important;
    border-bottom: 1px solid var(--print-border) !important;
    background: var(--print-bg) !important;
    page-break-inside: avoid;
  }
  .ea-row:nth-child(even) {
    background: var(--print-row-alt) !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .ea-row.flag-red {
    background: var(--print-row-alt) !important;
  }
  .ea-row::before {
    width: 3px !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .ea-row.flag-red::before { background: var(--print-burgundy) !important; }
  .ea-row.flag-amber::before { background: var(--print-amber) !important; }
  .ea-row.flag-green::before { background: var(--print-green) !important; }

  .ea-client-code {
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 700 !important;
    font-size: 10pt !important;
    color: var(--print-burgundy) !important;
    letter-spacing: 0 !important;
  }
  .ea-client-name {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 7.5pt !important;
    color: var(--print-muted) !important;
    margin-top: 1px !important;
  }

  .ea-bar-track {
    background: var(--print-slate-light) !important;
    border: none !important;
    height: 10px !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .ea-bar-fill.plan { background: var(--print-slate) !important; }
  .ea-bar-fill.assigned { background: #94a3b8 !important; }
  .ea-bar-fill.actual { background: var(--print-burgundy) !important; }
  .ea-bar-fill.zero {
    background: repeating-linear-gradient(45deg,
      var(--print-slate-light), var(--print-slate-light) 2px,
      #fff 2px, #fff 4px) !important;
    opacity: 1 !important;
  }
  .ea-bar-lbl {
    font-family: 'DM Sans', sans-serif !important;
    color: var(--print-muted) !important;
    font-size: 7pt !important;
    font-weight: 700 !important;
  }
  .ea-bar-num {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 9pt !important;
    color: var(--print-text) !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
  }
  .ea-bar-num.zero { color: var(--print-muted) !important; }

  .ea-verdict-tag {
    background: transparent !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 7pt !important;
    border: 1px solid currentColor !important;
  }
  .ea-verdict-tag.red { color: var(--print-red) !important; }
  .ea-verdict-tag.amber { color: var(--print-amber) !important; }
  .ea-verdict-tag.green { color: var(--print-green) !important; }
  .ea-verdict-detail {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 7.5pt !important;
    color: var(--print-muted) !important;
  }

  /* ─── TREND CHART (print) — HIDDEN to keep report on one page ─── */
  .ea-trend-section { display: none !important; }

  /* ─── FLAGS (print) ─── */
  .ea-flags { gap: 4px !important; }
  .ea-flag {
    background: var(--print-bg) !important;
    border: 1px solid var(--print-border) !important;
    border-left: 3px solid var(--print-burgundy) !important;
    border-radius: 0 !important;
    padding: 5px 10px !important;
    page-break-inside: avoid;
  }
  .ea-flag.red { border-left-color: var(--print-red) !important; }
  .ea-flag.amber { border-left-color: var(--print-amber) !important; }
  .ea-flag-icon {
    color: var(--print-burgundy) !important;
    font-size: 11pt !important;
  }
  .ea-flag.red .ea-flag-icon { color: var(--print-red) !important; }
  .ea-flag.amber .ea-flag-icon { color: var(--print-amber) !important; }
  .ea-flag-body {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 9pt !important;
    color: var(--print-text) !important;
    line-height: 1.4 !important;
  }
  .ea-flag-body strong { color: var(--print-burgundy) !important; }
  .ea-flag-meta {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 7.5pt !important;
    color: var(--print-muted) !important;
  }

  /* ─── EMPTY STATE — don't print ─── */
  .ea-empty { display: none !important; }

  /* ─── PAGE BREAK CONTROL ─── */
  /* Try hard to keep the whole report on one page */
  .ea-body > * { page-break-inside: avoid; }
}
