.payroll-page{min-width:0;max-width:1480px}
.payroll-page .payroll-main-head{display:block;margin-top:12px}
.payroll-page .payroll-main-head>div:first-child{margin-bottom:16px}
.payroll-page .pay-period-controls{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr)) auto auto;align-items:end;gap:12px}
.payroll-page .pay-period-controls .field,.payroll-page .timesheet-controls .field{display:flex;flex-direction:column;gap:7px;min-width:0;margin:0}
.payroll-page .field span{line-height:18px;color:#48515e}
.payroll-page .field input,.payroll-page .field select{display:block;width:100%;min-width:0;height:44px;margin:0;padding:9px 11px;border:1px solid #d4cdd0;border-radius:7px;background:#fff;color:#17212b;font:inherit;box-sizing:border-box}
.payroll-page button.primary,.payroll-page button.secondary{min-height:44px;margin:0;line-height:20px;padding:10px 13px;white-space:nowrap}
.payroll-page button:disabled{opacity:.55;cursor:not-allowed}
.payroll-page .payroll-summary{grid-template-columns:2fr repeat(3,minmax(0,1fr));margin:16px 0}
.payroll-page .payroll-summary>div{min-width:0}
.payroll-page #payrollSummary>div:first-child strong{font-size:16px;line-height:1.5}
.payroll-page #payrollLedgerSummary{grid-template-columns:repeat(2,minmax(0,1fr))}
.payroll-page .table-card{width:100%;min-width:0;overflow:auto}
.payroll-page .payroll-table-card table{min-width:1080px}
.payroll-page .payroll-ledger-card table{min-width:1080px}
.payroll-page th,.payroll-page td{vertical-align:middle}
.payroll-page #payrollTable{font-variant-numeric:tabular-nums}
.payroll-page #payrollTable td:not(:first-child):not(:last-child){white-space:nowrap}
.payroll-page #payrollTable td:last-child{width:310px}
.payroll-page #payrollTable .payroll-row-actions{display:grid;grid-template-columns:repeat(2,minmax(132px,1fr));gap:8px;min-width:280px}
.payroll-page #payrollTable .payroll-row-actions button{font-size:12px;min-height:38px;padding:8px}
.payroll-page .timesheet-panel{min-width:0;margin:24px 0;padding:20px;border:1px solid #e5d6dc;border-radius:12px;background:#fff}
.payroll-page .timesheet-panel>h3{font-size:22px;margin:0 0 18px}
.payroll-page .timesheet-controls{display:grid;grid-template-columns:minmax(180px,1fr) auto auto auto;gap:12px;align-items:end}
.payroll-page .timesheet-note{font-size:13px;color:#4a5563;line-height:1.6;margin:14px 0}
.payroll-page .timesheet-total{display:flex;gap:14px 26px;flex-wrap:wrap;padding:14px;border-radius:8px;background:#fff0f5;margin:0 0 14px}
.payroll-page #employeeShiftDetails table{min-width:850px}
.payroll-page #employeeTable{min-width:1050px}
.payroll-page .employee-record-actions{min-width:155px}
.payroll-page .employee-record-actions>button+button{margin-left:8px}
.payroll-page #payrollLedgerBody>tr>td:last-child{min-width:280px}
.payroll-page #payrollLedgerBody button{margin:3px}
@media(max-width:1000px){
 .payroll-page .pay-period-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
 .payroll-page .timesheet-controls{grid-template-columns:repeat(3,minmax(0,1fr))}
 .payroll-page .timesheet-controls>.field{grid-column:1/-1}
 .payroll-page .payroll-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
 .payroll-page{padding:12px}
 .payroll-page>.page-head{align-items:flex-start;flex-direction:column;gap:12px}
 .payroll-page .timesheet-panel{padding:14px}
 .payroll-page .pay-period-controls{gap:10px}
 .payroll-page .pay-period-controls button,.payroll-page .timesheet-controls button{font-size:12px;padding:9px 6px}
 .payroll-page .timesheet-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .payroll-page #viewEmployeeTimesheet{grid-column:1/-1}
 .payroll-page .payroll-summary,.payroll-page #payrollLedgerSummary{grid-template-columns:1fr}
}
