/* Shared compact employee payslip layout. */
:is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-letterhead {padding:16px 18px;gap:16px;}
:is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-body-pad {padding:16px 18px;}
:is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-meta {gap:10px 16px;padding:12px;margin-bottom:12px;}
:is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-summary-grid {gap:7px;margin-bottom:12px;}
:is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-summary-item {padding:8px;}
:is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-net {margin-top:12px;padding:12px 14px;}
:is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-footer {margin-top:20px;}
@media print {
  @page {size:A4 portrait;margin:10mm;}
  @page :first {margin-top:1in;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-doc {overflow:visible!important;border:0!important;box-shadow:none!important;color:#172033!important;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-letterhead {display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;background:#fff!important;color:#102a4c!important;padding:10px 12px!important;border-bottom:2px solid #174b7a!important;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-letterhead :is(.co-name,.slip-title) {color:#102a4c!important;background:none!important;font-size:14px!important;text-align:right;opacity:1!important;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-letterhead :is(.co-address,.slip-number) {color:#52657a!important;opacity:1!important;font-size:9px!important;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-body-pad {padding:12px!important;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-meta {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:9px 14px!important;margin-bottom:10px!important;padding:10px!important;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-summary-grid {display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px!important;margin-bottom:12px!important;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-summary-item {padding:8px!important;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-columns {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;align-items:start!important;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-table {font-size:9px!important;break-inside:avoid;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-table th {padding:7px 8px!important;background:#eef3f8!important;color:#102a4c!important;font-size:8px!important;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-table td {padding:6px 8px!important;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-net {display:flex!important;padding:12px!important;margin-top:12px!important;break-inside:avoid;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-net strong {font-size:21px!important;color:#08734d!important;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-footer {display:flex!important;flex-direction:row!important;align-items:flex-end!important;gap:18px!important;margin-top:22px!important;font-size:8px!important;break-inside:avoid;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-sign {margin-top:0!important;flex-shrink:0;}
}

/* Keep all signatories with the net-pay summary on screen and paper. */
:is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-footer {display:block!important;break-inside:avoid;}
:is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-signatures {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px;width:100%;break-inside:avoid;}
:is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-signatures .payslip-sign {display:block;margin:0;min-width:0;}
:is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-signatures .sign-line {width:100%;box-sizing:border-box;line-height:1.5;}
@media screen and (max-width:560px) {
  :is(#payslip-content,#agent-payslip-content) .payslip-signatures {grid-template-columns:1fr;gap:36px;}
}

/* Keep the complete saved breakdown in print; long tables continue onto following pages. */
:is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-line-units {display:block;font-size:9px;color:#52657a;margin-top:3px;}
@media print {
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-detail-heading {display:flex!important;break-before:page;page-break-before:always;break-after:avoid-page;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-detail-grid {display:block!important;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-detail-section {overflow:visible!important;margin-bottom:12px;break-inside:auto;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) :is(.payslip-table,.payslip-calc-table) {break-inside:auto;table-layout:fixed;width:100%;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) :is(th,td) {overflow-wrap:anywhere;white-space:normal!important;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) tr {break-inside:avoid;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) thead {display:table-header-group;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-detail-actions {display:none!important;}
}

:is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-summary-grid {grid-template-columns:repeat(7,minmax(0,1fr));}
:is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-summary-item {min-width:0;overflow-wrap:anywhere;}
:is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-schedule-note {font-size:9px;color:#52657a;line-height:1.5;margin:0 0 12px;}
@media screen and (max-width:900px) {:is(#payslip-content,#agent-payslip-content) .payslip-summary-grid {grid-template-columns:repeat(4,minmax(0,1fr));}}
@media screen and (max-width:560px) {:is(#payslip-content,#agent-payslip-content) .payslip-summary-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media print {:is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-summary-grid {grid-template-columns:repeat(7,minmax(0,1fr))!important;}}

/* Only the summary on page one is included in Print / Save PDF. */
@media print {
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) :is(.payslip-detail-heading,.payslip-detail-grid) {display:none!important;}
  :is(#payslip-content,#agent-payslip-content)[data-payslip-printable="false"] {display:none!important;visibility:hidden!important;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-doc {max-height:none!important;overflow:visible!important;break-inside:avoid!important;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-table {font-size:8px!important;}
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-table td {padding:3px 6px!important;line-height:1.2!important;}
}

/* Use the full A4 printable width, independent of the screen preview. */
@media print {
  :is(#payslip-content,#payroll-payslip-print-root,#agent-payslip-content) .payslip-doc {
    box-sizing:border-box!important;
    width:190mm!important;
    zoom:1!important;
    transform:none!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    align-self:start!important;
  }
}
