.payroll-controls .actions{margin-bottom:14px}.payroll-controls p{line-height:1.8}.payroll-preview-scroll{overflow:auto;max-width:100%;background:#dce5e2;padding:15px;border-radius:12px;direction:rtl;touch-action:pan-x pan-y pinch-zoom}.payroll-page{background:white;position:relative;margin:0 auto 24px;direction:ltr;color:black;box-shadow:0 3px 15px #0002;flex-shrink:0}.payroll-sheet{position:absolute;top:0;left:0;transform-origin:top left;background:white;color:black}.payroll-cell{position:absolute;box-sizing:border-box;line-height:1.05;padding:0 2px;white-space:pre;display:flex;align-items:center;justify-content:center;border:0;outline:0;background:white;color:black;font-family:Arial,sans-serif}.payroll-cell span{display:block;width:100%;white-space:pre;position:relative;z-index:1}.payroll-cell .name-span{overflow:hidden;white-space:nowrap;text-overflow:clip}.payroll-cell.editable{cursor:pointer}.payroll-cell.editable:hover{outline:3px solid #226cba;outline-offset:-3px;z-index:2}.payroll-cell.editable:focus-visible{outline:3px solid #226cba;outline-offset:-3px;z-index:3}.payroll-logo{position:absolute;object-fit:contain}.payroll-manager{max-height:480px;overflow:auto;margin:12px 0}.payroll-manager table{white-space:normal}.payroll-manager th{position:sticky;top:0;z-index:1}.payroll-manager td{padding:7px;font-size:13px}.payroll-manager td input{border:1px solid #bcd1c8;border-radius:6px;width:100%;min-width:100px;padding:8px}.payroll-manager .row-buttons{display:flex;gap:4px;justify-content:center}.payroll-manager .btn{padding:8px 10px;font-size:12px;white-space:nowrap}.payroll-empty{padding:20px;background:#f2f7f4;border-radius:10px;line-height:1.9}.payroll-note{font-size:12px;color:#52716b;line-height:1.8}.payroll-page-number{text-align:center;font-size:12px;color:#526a63;padding:5px}.payroll-dialog{width:min(480px,94vw);max-height:90dvh;border:1px solid #c4d6ce;border-radius:14px;padding:22px;color:#18352f}.payroll-dialog::backdrop{background:#142f2dcc}.payroll-dialog h2{font-size:18px;margin-top:0}.payroll-dialog .field{margin-bottom:14px}.payroll-range{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.payroll-range input{width:85px}.payroll-zoom{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:15px 0}.payroll-zoom input{accent-color:#15685a}.payroll-saved{font-size:12px;color:#176349;min-height:20px}.payroll-records{margin:15px 0}.payroll-print-host{display:none}.payroll-control-title{margin-bottom:12px}.payroll-controls label,.payroll-dialog label{line-height:1.5}.payroll-legacy{margin-top:20px}.payroll-legacy summary{cursor:pointer;padding:15px;background:#e8efeb;border-radius:9px}@media(max-width:600px){.payroll-controls .form{grid-template-columns:1fr 1fr}.payroll-controls .half{grid-column:1/-1}.payroll-manager table{min-width:560px}.payroll-preview-scroll{padding:6px}.payroll-dialog{padding:16px}.payroll-controls .btn{font-size:12px;padding:12px}.payroll-controls h2{line-height:1.7}}@media print{body.printing-payroll>.shell,body.printing-payroll>dialog{display:none!important}body.printing-payroll .payroll-print-host{display:block!important}body.printing-payroll .payroll-print-host .payroll-page{display:block!important;box-shadow:none;margin:0 auto;break-after:page;page-break-after:always}body.printing-payroll .payroll-print-host .payroll-page:last-child{break-after:auto;page-break-after:auto}body.printing-payroll .payroll-cell,body.printing-payroll .payroll-sheet{-webkit-print-color-adjust:exact;print-color-adjust:exact}body.printing-payroll .payroll-cell:hover{outline:none}body.printing-payroll{background:white}}

/* Cell coordinates follow the approved right-to-left form; the canvas origin stays left-to-right. */
.payroll-sheet{direction:ltr;isolation:isolate}.payroll-cell{margin:0;border-radius:0;min-width:0;min-height:0;appearance:none;-webkit-appearance:none;box-shadow:none;flex:none}.payroll-cell[data-source-cell]{overflow:visible}.payroll-cell[data-payroll-name] span{overflow:hidden;white-space:nowrap}

.payroll-cell[data-source-text]{z-index:2}

@media print{body.printing-payroll{margin:0!important}body.printing-payroll .payroll-page{break-inside:avoid;page-break-inside:avoid}body.printing-payroll .payroll-logo{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

.payroll-cell{text-align:center}
