/* ==========================================================================
   PRINT STYLESHEET - Exact A4 1-Page Replica of Karta Pracy 2026
   ========================================================================== */

#print-area {
  display: none;
}

@media print {
  @page {
    size: A4 portrait;
    margin: 5mm 8mm 5mm 8mm; /* Compact margins to ensure single A4 page fit */
  }

  html, body {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    color: #000000 !important;
    font-family: "Times New Roman", Times, serif !important;
    font-size: 8.5pt !important;
    line-height: 1.15 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Hide entire application shell during printing */
  .app-header,
  .main-content,
  .modal-backdrop,
  .toast-container,
  button,
  .no-print {
    display: none !important;
  }

  /* Show only print area */
  #print-area {
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
  }

  .print-page {
    width: 100% !important;
    max-width: 100% !important;
    page-break-inside: avoid !important;
    page-break-after: avoid !important;
  }

  /* Top Info Block */
  .print-header-grid {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 3px;
    font-weight: bold;
    font-size: 9.5pt;
  }

  .print-header-grid .title-left {
    font-size: 10pt;
    font-weight: bold;
  }

  .print-header-grid .month-center {
    font-size: 11pt;
    font-weight: bold;
    text-transform: uppercase;
    text-align: center;
  }

  .print-header-grid .year-right {
    font-size: 10pt;
    font-weight: bold;
  }

  .print-worker-row {
    display: flex;
    align-items: baseline;
    font-size: 9.5pt;
    font-weight: bold;
    margin-bottom: 5px;
    border-bottom: 1px solid #000;
    padding-bottom: 2px;
  }

  .print-worker-label {
    flex-shrink: 0;
    margin-right: 6px;
  }

  .print-worker-name {
    text-transform: uppercase;
    font-size: 10pt;
    font-weight: bold;
  }

  /* Table styling */
  .print-table {
    width: 100% !important;
    border-collapse: collapse !important;
    border: 1px solid #000000 !important;
    table-layout: fixed !important;
  }

  .print-table th,
  .print-table td {
    border: 1px solid #000000 !important;
    padding: 1.2px 3px !important;
    font-size: 8pt !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
  }

  .print-table th {
    font-weight: bold !important;
    text-align: center !important;
    background-color: #f0f0f0 !important;
    line-height: 1.1 !important;
    padding: 3px 2px !important;
  }

  /* Specific column widths matching Excel */
  .print-col-day { width: 5.5%; text-align: center; }
  .print-col-weekday { width: 7.5%; text-align: center; }
  .print-col-start { width: 18%; text-align: center; }
  .print-col-end { width: 18%; text-align: center; }
  .print-col-hours { width: 15%; text-align: center; }
  .print-col-notes { width: 36%; text-align: left; }

  .print-table tr.weekend {
    background-color: #f7f7f7 !important;
  }

  .print-table tr.weekend td:nth-child(2) {
    font-weight: bold !important;
  }

  /* Row height optimization for 1 page */
  .print-table tbody tr {
    height: 16px !important;
  }

  .print-sum-label {
    font-weight: bold !important;
    text-align: right !important;
    padding-right: 8px !important;
    font-size: 8.5pt !important;
  }

  .print-sum-value {
    font-weight: bold !important;
    text-align: center !important;
    font-size: 9.5pt !important;
  }

  /* Signatures section */
  .print-signatures {
    margin-top: 8px;
    width: 100%;
    font-size: 8pt;
  }

  .print-sig-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5px;
    align-items: baseline;
  }

  .print-sig-label {
    width: 58%;
    font-size: 8pt;
  }

  .print-sig-line {
    width: 38%;
    text-align: center;
    letter-spacing: 1px;
    font-size: 8pt;
  }

  .print-sig-sub {
    width: 38%;
    text-align: center;
    font-size: 7pt;
    font-style: italic;
    margin-left: auto;
    margin-top: -3px;
    margin-bottom: 4px;
  }

  /* Footer disclaimer */
  .print-footer {
    margin-top: 5px;
    text-align: center;
    font-size: 7.5pt;
    font-style: italic;
    border-top: 0.5px solid #666;
    padding-top: 3px;
  }
}
