/* ==========================================================================
   print.css - Pristine, High-Contrast Print Stylesheet for Tasks & Reports
   "A visualização na impressão deve ficar bonita e legível"
   ========================================================================== */

#print-container {
  display: none;
}

@media print {
  /* Hide all digital UI elements */
  body {
    background: #ffffff !important;
    color: #0f172a !important;
    font-size: 11pt !important;
    line-height: 1.4 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .app-sidebar,
  .app-header,
  .view-tabs-bar,
  .active-project-banner,
  .kanban-column-footer-btn,
  .kanban-add-column-card,
  .btn,
  .btn-icon,
  .btn-card-action,
  .toast-container,
  .modal-container,
  .modal-backdrop,
  .notifications-panel,
  #notifications-dropdown-panel {
    display: none !important;
  }

  /* When printing single task sheet */
  #print-container:not(:empty) {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 20mm !important;
  }

  #print-container:not(:empty) ~ .app-layout {
    display: none !important;
  }

  .print-sheet {
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  /* Letterhead */
  .print-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    border-bottom: 2pt solid #0f172a !important;
    padding-bottom: 12pt !important;
    margin-bottom: 16pt !important;
  }

  .print-brand-title {
    font-size: 20pt !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    letter-spacing: -0.5px !important;
  }

  .print-brand-sub {
    font-size: 10pt !important;
    color: #475569 !important;
    margin-top: 2pt !important;
  }

  .print-code-col {
    text-align: right !important;
  }

  .print-task-code {
    font-size: 16pt !important;
    font-family: "Courier New", monospace !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    background-color: #f1f5f9 !important;
    padding: 4pt 8pt !important;
    border: 1pt solid #cbd5e1 !important;
    display: inline-block !important;
  }

  .print-issue-date {
    font-size: 9pt !important;
    color: #64748b !important;
    margin-top: 4pt !important;
  }

  /* Title Banner */
  .print-title-banner {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    background-color: #f8fafc !important;
    border: 1.5pt solid #cbd5e1 !important;
    padding: 12pt 16pt !important;
    margin-bottom: 16pt !important;
  }

  .print-task-title {
    font-size: 16pt !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    line-height: 1.3 !important;
    flex: 1 !important;
    padding-right: 14pt !important;
  }

  .print-status-badge {
    font-size: 10pt !important;
    font-weight: 800 !important;
    border: 1.5pt solid #0f172a !important;
    background-color: #0f172a !important;
    color: #ffffff !important;
    padding: 4pt 10pt !important;
    border-radius: 4pt !important;
    white-space: nowrap !important;
    text-transform: uppercase !important;
  }

  /* Key Metadata 2-Column Grid */
  .print-grid-2 {
    display: flex !important;
    gap: 20pt !important;
    margin-bottom: 16pt !important;
    border: 1pt solid #e2e8f0 !important;
    background-color: #ffffff !important;
    padding: 12pt 16pt !important;
  }

  .print-grid-col {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8pt !important;
  }

  .print-field {
    display: flex !important;
    font-size: 10pt !important;
    line-height: 1.4 !important;
  }

  .print-field-label {
    width: 140pt !important;
    font-weight: 700 !important;
    color: #475569 !important;
    flex-shrink: 0 !important;
  }

  .print-field-val {
    color: #0f172a !important;
    flex: 1 !important;
  }

  /* Sections */
  .print-section {
    margin-bottom: 16pt !important;
  }

  .print-section-title {
    font-size: 11pt !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #1e293b !important;
    border-bottom: 1.5pt solid #cbd5e1 !important;
    padding-bottom: 4pt !important;
    margin-bottom: 8pt !important;
  }

  .print-description-box {
    background-color: #ffffff !important;
    border: 1pt solid #cbd5e1 !important;
    padding: 12pt 14pt !important;
    font-size: 10.5pt !important;
    line-height: 1.6 !important;
    color: #1e293b !important;
    white-space: pre-wrap !important;
    min-height: 40pt !important;
  }

  /* Checklist printable items */
  .print-checklist {
    display: flex !important;
    flex-direction: column !important;
    gap: 6pt !important;
    border: 1pt solid #cbd5e1 !important;
    padding: 10pt 14pt !important;
  }

  .print-check-item {
    display: flex !important;
    align-items: center !important;
    gap: 8pt !important;
    font-size: 10pt !important;
  }

  .print-box {
    width: 14pt !important;
    height: 14pt !important;
    border: 1.5pt solid #0f172a !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 800 !important;
    font-size: 10pt !important;
    flex-shrink: 0 !important;
  }

  .print-check-item.checked .print-check-label {
    text-decoration: line-through !important;
    color: #64748b !important;
  }

  /* Signatures */
  .print-signatures-section {
    margin-top: 35pt !important;
    display: flex !important;
    justify-content: space-between !important;
    gap: 40pt !important;
  }

  .print-signature-box {
    flex: 1 !important;
    text-align: center !important;
  }

  .print-sig-line {
    border-bottom: 1pt solid #0f172a !important;
    margin-bottom: 6pt !important;
    height: 30pt !important;
  }

  .print-sig-text {
    font-size: 9.5pt !important;
    font-weight: 600 !important;
    color: #475569 !important;
  }

  .print-footer-note {
    margin-top: 30pt !important;
    text-align: center !important;
    font-size: 8pt !important;
    color: #94a3b8 !important;
    border-top: 0.5pt solid #e2e8f0 !important;
    padding-top: 8pt !important;
  }

  /* When printing the Reports tab */
  .reports-dashboard-wrapper {
    display: block !important;
  }

  .reports-header-actions {
    display: none !important;
  }

  .reports-kpi-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 10pt !important;
    margin-bottom: 20pt !important;
  }

  .kpi-card {
    border: 1pt solid #0f172a !important;
    box-shadow: none !important;
    padding: 10pt !important;
  }

  .reports-charts-grid {
    display: none !important; /* Canvas in print may be blurry or broken, focus on tables & metrics */
  }

  .tasks-table {
    border: 1pt solid #0f172a !important;
  }

  .tasks-table th {
    background-color: #f1f5f9 !important;
    color: #0f172a !important;
    border: 1pt solid #0f172a !important;
  }

  .tasks-table td {
    border: 0.5pt solid #cbd5e1 !important;
    color: #0f172a !important;
  }
}
