/* Payroll presentation follows the existing transaction headers, metrics and panels. */
#page-payroll .payroll-filters { display:flex; align-items:end; gap:16px; flex-wrap:wrap; margin-bottom:14px; }
#page-payroll label { display:grid; gap:6px; min-width:0; font-size:12px; font-weight:700; color:#47536d; }
#page-payroll .payroll-filters label:first-child { width:220px; }
#page-payroll .payroll-filters label:nth-child(2) { width:100px; }
#page-payroll .payroll-filters small { color:var(--muted); margin-bottom:10px; }
#page-payroll .payroll-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:12px; }
#page-payroll .payroll-workspace { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(360px,1fr); gap:16px; align-items:start; margin-top:14px; }
#page-payroll .panel { min-width:0; }
#page-payroll .payroll-register { padding:16px; }
#page-payroll .panel-title { gap:10px; flex-wrap:wrap; }
#page-payroll .panel-title small { color:var(--muted); font-size:11px; }
#page-payroll .form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:14px 0; }
#page-payroll .payroll-wide-field { grid-column:1/-1; }
#page-payroll .input { width:100%; min-width:0; }
#page-payroll .table-wrap { overflow:auto; max-height:60vh; }
#page-payroll th,#page-payroll td { white-space:nowrap; }
#page-payroll .payroll-empty { padding:28px 12px; max-width:calc(100vw - 82px); text-align:center; color:var(--muted); border:1px dashed var(--line); border-radius:12px; white-space:normal; }
#page-payroll #payrollNotice { padding:10px 14px; border:1px solid #dce9fa; border-radius:12px; background:#eef6ff; font-size:12px; margin:0; }
#page-payroll #payrollNotice:empty { display:none; }
#page-payroll #payrollNotice.danger { color:#9c1527; background:#fff0f2; border-color:#f4cbd2; }
#page-payroll #payrollPayment { border-top:1px solid var(--line); margin-top:16px; padding-top:14px; }
#page-payroll .payroll-net-summary { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px; border:1px solid #ddd4ff; border-radius:12px; background:var(--violet-soft,#f5f2ff); }
#page-payroll .payroll-net-summary strong { font-size:22px; color:var(--violet); }
#page-payroll .action-row { display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap; margin-top:14px; }
#page-payroll .payroll-help { margin-top:16px; border-top:1px solid var(--line); padding-top:12px; color:var(--muted); font-size:12px; line-height:1.5; }
#page-payroll .payroll-help summary { cursor:pointer; font-weight:700; color:#47536d; }
#page-payroll .payroll-accessible-summary { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
/* Scoped master-grid correction: the form sets the desktop row height, not the row count. */
@media(min-width:1201px) {
  #page-customers .party-layout, #page-employees .party-layout { align-items:stretch; }
  #page-customers .party-list, #page-employees .party-list { min-height:0; }
  #page-customers .party-list .table-wrap.grid-master, #page-employees .party-list .table-wrap.grid-master { flex:1 1 0; height:0; min-height:0; max-height:none; overflow:auto; }
}
@media(max-width:1100px) { #page-payroll .payroll-workspace { grid-template-columns:minmax(0,1fr); } }
@media(max-width:540px) {
  #page-payroll .form-grid { grid-template-columns:minmax(0,1fr); }
  #page-payroll .payroll-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #page-payroll .payroll-filters { gap:12px; }
  #page-payroll .payroll-filters label:first-child { flex:1; width:auto; }
  #page-payroll .payroll-filters small { flex-basis:100%; margin:0; }
  #page-payroll .page-head { flex-wrap:wrap; }
  #page-payroll .panel { padding:14px; }
}
