body:has(#zhbPayrollRoot) [data-zhb-payroll-legacy]{display:none!important}
#zhbPayrollRoot{display:grid;gap:16px}#zhbPayrollRoot h2,.zp-dialog h2{margin:0}#zhbPayrollRoot .panel{margin:0}.zp-toolbar,.zp-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.zp-toolbar>div{flex:1}.zp-toolbar label{max-width:220px}.zp-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.zp-metrics .panel>span,.zp-detail-totals span{display:block;color:#637a70;font-size:13px}.zp-metrics strong{display:block;font-size:26px;margin-top:10px}.zp-metrics .panel:last-child{background:#103d30;color:white}.zp-metrics .panel:last-child>span{color:#c6e1d5}.zp-filters{display:flex;gap:14px;align-items:center}.zp-checkbox{display:flex!important;align-items:center;gap:8px;white-space:nowrap;font-size:13px}.zp-checkbox input{width:17px!important;height:17px!important}.zp-scroll{max-width:100%;overflow:auto}.zp-scroll table{width:100%;border-collapse:collapse;min-width:760px}.zp-scroll th,.zp-scroll td{padding:13px 10px;text-align:left;vertical-align:top;border-bottom:1px solid #e4eee8}.zp-scroll th{font-size:12px;color:#577466;background:#f3f8f5}.zp-scroll .hint{margin-top:5px;max-width:360px}.zp-actions{flex-wrap:wrap;min-width:190px}.zp-actions button{white-space:nowrap}.zp-rules p{font-size:13px;line-height:1.7;color:#637a70;margin-bottom:0}.zp-error{color:#b53248}.zp-dialog-open{overflow:hidden}.zp-modal{position:fixed;inset:0;z-index:2300;display:flex;align-items:center;justify-content:center;padding:22px}.zp-backdrop{position:absolute;inset:0;background:#13271fcc;backdrop-filter:blur(3px)}.zp-dialog{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:22px;width:min(1080px,96vw);max-height:calc(100dvh - 44px);box-shadow:0 24px 80px #0003;color:#183b2e;overflow:hidden}.zp-dialog header{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:22px 26px;border-bottom:1px solid #e0ece5;flex-shrink:0}.zp-dialog-body{padding:24px 26px;overflow:auto;min-height:0;overscroll-behavior:contain;padding-bottom:calc(26px + env(safe-area-inset-bottom))}.zp-detail-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.zp-detail-totals>div{padding:17px;border-radius:14px;background:#f3f8f5}.zp-detail-totals strong{display:block;font-size:23px;margin-top:9px}.zp-section{padding:24px 0;border-bottom:1px solid #e0ece5}.zp-section:last-child{border-bottom:0;padding-bottom:0}.zp-section h3{margin:0 0 14px;font-size:18px}.zp-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.zp-form label{display:grid;gap:7px;color:#557266;font-size:13px;min-width:0}.zp-form input,.zp-form select,.zp-form textarea{width:100%;box-sizing:border-box;min-width:0}.zp-form textarea{min-height:85px;resize:vertical}.zp-wide{grid-column:1/-1}.zp-form .hint{margin:0;line-height:1.6}.zp-notice{border:1px solid #cce9dc;background:#f0faf4;padding:16px;border-radius:12px;line-height:1.8}.zp-dialog .hint{color:#6e8378}.zp-dialog details>summary{cursor:pointer;color:#087552;padding:8px 0}.zp-dialog small{display:block;color:#6e8378;overflow-wrap:anywhere}
@media(max-width:900px){.zp-toolbar,.zp-head,.zp-filters{flex-wrap:wrap}.zp-metrics{grid-template-columns:repeat(2,1fr)}.zp-toolbar>div{flex-basis:100%}.zp-actions{min-width:150px}.zp-detail-totals{grid-template-columns:1fr}.zp-modal{padding:10px}.zp-dialog{width:100%;max-height:calc(100dvh - 20px)}.zp-dialog header,.zp-dialog-body{padding:18px}.zp-dialog h2{font-size:20px}.zp-form{grid-template-columns:1fr}.zp-checkbox{white-space:normal}.zp-toolbar label{max-width:none;flex:1}}
@media print{.zp-modal{position:static;padding:0}.zp-backdrop,.zp-dialog header button{display:none}.zp-dialog{box-shadow:none;max-height:none;width:100%}.zp-dialog-body{overflow:visible}.zp-scroll{overflow:visible}}

/* Manual payroll deductions are distinct from cash payouts. */
.zp-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.zp-detail-totals{grid-template-columns:repeat(4,minmax(0,1fr))}.zp-deduction-action,.zp-deduction-value{color:#ae3547!important}.zp-actions{min-width:225px}.zp-form .zp-checkbox{display:flex;align-items:flex-start;line-height:1.5}.zp-form .zp-checkbox input{flex:0 0 17px;margin-top:2px}
@media(min-width:901px) and (max-width:1200px){.zp-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.zp-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.zp-detail-totals{grid-template-columns:1fr}}

/* Net salary is immediately visible; advances and salary payments never overlap. */
.zp-calculation{display:grid;gap:7px;padding:16px 20px;border:1px solid #cce5d8;border-radius:14px;background:#edf7f1;color:#214f3b}
.zp-calculation>strong{font-size:20px}.zp-calculation>span,.zp-calculation>small{font-size:12px;line-height:1.6;color:#5d7869}
.zp-scroll .zp-net-value{background:#f0f8f3;color:#14563b;font-weight:750;min-width:125px}
.zp-scroll tfoot th,.zp-scroll tfoot td{font-weight:750;border-top:2px solid #cde1d4;background:#f3f8f5}
.zp-scroll tfoot .zp-net-value{background:#e1f2e8}.zp-scroll th small{font-weight:400}
.zp-detail-totals{grid-template-columns:repeat(5,minmax(0,1fr))}.zp-detail-totals+.zp-calculation{margin-top:14px}
@media(max-width:900px){.zp-detail-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.zp-detail-totals>div:last-child{grid-column:1/-1}.zp-calculation{padding:14px 16px}.zp-calculation>strong{font-size:18px}}
