.payroll-workspace{max-width:100%;min-width:0}.pw-tabs,.pw-stages,.pw-inline,.pw-context-row,.pw-footer{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.pw-tabs{margin:0 0 16px;border-bottom:1px solid var(--line,#d9d9d9);padding-bottom:8px}.pw-tabs a{padding:8px}.pw-tabs [aria-current],.pw-stages [aria-current]{background:var(--ink,#243a34);color:#fff}.pw-stages{position:sticky;top:0;background:var(--paper,#faf9f5);padding:9px 0;z-index:3}.pw-stages button{flex:1;min-width:180px}.pw-context label{max-width:100%;flex:1;min-width:0}.pw-context select{max-width:100%;width:100%}.pw-stage-summary h2{margin-bottom:3px}.pw-stage-summary p{margin-top:0;color:var(--muted,#67746d)}.pw-scroll{max-width:100%;overflow:auto;overscroll-behavior-x:contain}.pw-scroll table{border-collapse:collapse;width:100%;font-size:13px}.pw-scroll th,.pw-scroll td{padding:7px 8px;border-bottom:1px solid #e2e5e0;text-align:left;vertical-align:top;white-space:nowrap}.pw-scroll th{background:#f0f2ee}.pw-scroll th.num,.pw-scroll td.num{text-align:right;font-variant-numeric:tabular-nums}.pw-scroll td small{display:block;font-size:11px;white-space:normal;max-width:240px}.pw-scroll input:not([type=checkbox]),.pw-scroll select{min-width:78px;max-width:170px;width:100%;padding:5px;font-size:13px}.pw-attendance input[name^=duty]{width:85px}.pw-time-grid{display:grid;grid-template-columns:repeat(2,110px);gap:3px}.pw-issues{border:1px solid #dcad71;background:#fff7e9;padding:10px 14px;margin:12px 0;border-radius:6px;overflow-wrap:anywhere}.pw-issues ul{margin:5px 0;padding-left:20px}.pw-issues li{margin:3px 0}.pw-difference{color:#9b3b24;font-weight:600}.pw-error{position:sticky;top:50px;z-index:4;background:#fff1ed;padding:12px;border:1px solid #cd7e68}.pw-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0}.pw-totals>div{border:1px solid #dce3d9;border-radius:6px;background:#f7f8f4;padding:12px;min-width:0}.pw-totals small,.pw-totals strong{display:block}.pw-totals strong{font-size:20px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.pw-footer{position:sticky;bottom:0;padding:12px 0;background:var(--paper,#faf9f5);z-index:2}.pw-source-store{padding:8px 0}.pw-source-store>summary{font-weight:600;cursor:pointer;padding:8px 0}.pw-imports>div{padding:8px 0;border-bottom:1px solid #ddd}.pw-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:min(900px,80vw);white-space:normal}.pw-breakdown pre,.pw-result-details pre,.pw-annual-summary pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto;font-size:11px}.pw-result-details>td{background:#fafbf8}.pw-result-details summary{cursor:pointer;white-space:normal}.pw-holidays{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:12px 0}.pw-holidays>div{display:flex;gap:4px}.pw-holidays input{width:50%;min-width:0}.pw-inline>label{display:grid;gap:4px;max-width:100%;min-width:0}.pw-inline>input[type=search]{max-width:100%}.payroll-workspace .panel{min-width:0}.payroll-workspace [hidden]{display:none!important}@media(max-width:600px){.pw-tabs{gap:5px}.pw-tabs button,.pw-tabs a{font-size:12px;padding:7px}.pw-stages{gap:4px}.pw-stages button{min-width:0;font-size:12px;padding:8px 3px}.pw-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.pw-breakdown{grid-template-columns:1fr;max-width:75vw}.pw-inline{align-items:stretch}.pw-inline>label{flex:1 1 130px}.pw-inline input[type=file]{width:100%;font-size:12px}.pw-footer button{flex:1;min-width:110px;font-size:12px}.pw-stage-summary h2{font-size:19px}.pw-scroll{margin:0 -3px}.payroll-workspace .panel{padding:12px}}

@media(max-width:600px){.pw-context-row>label{flex:1 1 100%;width:100%}.pw-context-row>#pw-new{flex:none;max-width:100%;font-size:13px}.pw-context-row select{width:100%;min-width:0}}

.pw-stage-check{display:block;font-size:11px;font-weight:normal;opacity:.85;margin-top:2px}.pw-results>thead>tr>th:first-child,.pw-results>tbody>tr:not(.pw-result-details)>td:first-child,.pw-attendance>thead>tr>th:first-child,.pw-attendance>tbody>tr>td:first-child{position:sticky;left:0;background:#f8faf6;z-index:1}

/* One field per column; compact rows retain name and date while panning. */
.pw-attendance-panel{padding:10px!important}.pw-attendance-tools{gap:6px;margin-bottom:7px}.pw-attendance-tools h3{margin:0;font-size:15px}.pw-attendance-tools h3 small{font-weight:400;font-size:11px}.pw-attendance-tools button,.pw-attendance-tools input,.pw-attendance-tools select{padding:5px 7px;font-size:12px;min-height:28px}.pw-attendance-tools input[type=search]{width:145px}.pw-keyboard-hint{font-size:11px;color:var(--muted)}.pw-attendance-scroll{max-height:70vh;max-height:70dvh}.pw-attendance{display:table!important;table-layout:fixed;width:max-content!important;min-width:100%;border-spacing:0}.pw-attendance tbody{display:table-row-group!important}.pw-attendance thead{display:table-header-group!important}.pw-attendance tr:not([hidden]){display:table-row!important}.pw-attendance th,.pw-attendance td{display:table-cell!important;padding:2px 4px!important;vertical-align:middle!important;font-size:12px;line-height:22px;white-space:nowrap;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;max-width:180px;min-width:50px}.pw-attendance thead th{position:sticky;top:0;z-index:2}.pw-attendance thead th:first-child,.pw-attendance [data-attendance-row]>td:first-child{position:sticky!important;left:0;width:96px;min-width:96px;max-width:96px;z-index:3}.pw-attendance thead th:first-child{z-index:4}.pw-attendance thead th:nth-child(n+2):nth-child(-n+5){width:76px;min-width:76px}.pw-attendance thead th:nth-child(n+6):nth-child(-n+7){width:64px;min-width:64px}.pw-attendance thead th:nth-child(8){width:90px;min-width:90px}.pw-attendance thead th:last-child{width:200px;min-width:200px}.pw-attendance input:not([type=checkbox]){min-width:0!important;max-width:none!important;width:100%!important;height:23px;min-height:23px;box-sizing:border-box;padding:1px 3px!important;font-size:12px!important;border-radius:3px;margin:0;line-height:19px}.pw-attendance input[type=time]::-webkit-calendar-picker-indicator{display:none}.pw-attendance .pw-att-state{font-size:10px}.pw-attendance .pw-att-state button{padding:1px 4px;font-size:10px;line-height:18px;min-height:0}.pw-attendance-problem{font-size:12px;background:#fff7e9;padding:6px;margin:4px 0}.pw-no-attendance{display:grid;grid-template-columns:minmax(220px,1fr) minmax(160px,1fr);gap:8px;align-items:center;margin:7px 0}.pw-no-attendance strong{font-size:12px}
@media(max-width:800px){.pw-keyboard-hint{display:none}.pw-attendance-tools input[type=search]{flex:1;min-width:100px}.pw-attendance-tools select{max-width:42%}.pw-attendance-scroll{max-height:68vh;max-height:68dvh;margin:0}.pw-attendance th,.pw-attendance td{font-size:11px;padding:2px 3px!important}.pw-attendance input:not([type=checkbox]){height:24px;min-height:24px;font-size:11px!important}.pw-no-attendance{grid-template-columns:1fr;gap:3px}}

/* Shared palette across preparation, attendance, results and annual ledger. */
.payroll-workspace .pw-scroll th{background:#e9f0e6;color:#263a32}.payroll-workspace .pw-scroll tbody tr:nth-child(even)>td{background:#f5f7f1}.payroll-workspace .pw-scroll td.num{background:#f0f7f4;font-variant-numeric:tabular-nums}.payroll-workspace .pw-scroll tbody tr:nth-child(even)>td.num{background:#eaf2ee}.payroll-workspace .pw-totals>div{background:#eef5ef;border-color:#cbd9ce}.payroll-workspace .pw-totals>div:last-child{background:#dfede4}.payroll-workspace .pw-attendance th:nth-child(n+2):nth-child(-n+5){background:#e4efea}.payroll-workspace .pw-attendance th:nth-child(n+6):nth-child(-n+7){background:#edf1e3}.payroll-workspace .pw-attendance th:nth-last-child(-n+2){background:#f4eddf}.payroll-workspace .pw-attendance [data-attendance-row]>td:first-child{background:#edf2e8!important}.payroll-workspace .pw-attendance tbody tr:nth-child(even)[data-attendance-row]>td:first-child{background:#e5eddf!important}.payroll-workspace .pw-attendance thead th:first-child{background:#dfe9da}.payroll-workspace .pw-source-store{border-top:1px solid #d6dfd0}.payroll-workspace .pw-source-store>summary{background:#f0f4ec;padding:6px}.payroll-workspace .pw-difference{color:#91391f}.payroll-workspace .pw-attendance input:not([type=checkbox]){height:24px!important;min-height:24px!important}
.payroll-workspace .pw-attendance tr{height:28px!important}.payroll-workspace .pw-scroll thead th{background:#e9f0e6!important}.payroll-workspace .pw-attendance thead th:nth-child(n+2):nth-child(-n+5){background:#e2eeea!important}.payroll-workspace .pw-attendance thead th:nth-last-child(-n+2){background:#f2eadc!important}
.payroll-workspace .pw-attendance th,.payroll-workspace .pw-attendance td{height:auto!important}.payroll-workspace .pw-attendance-tools>label{display:inline-flex;align-items:center;gap:4px;flex:none;min-width:0}.payroll-workspace .pw-attendance-tools input[type=checkbox]{height:16px!important;min-height:16px!important;width:16px!important;padding:0;margin:0}.payroll-workspace .pw-context{padding:10px!important;margin-bottom:8px;border-radius:12px}.payroll-workspace .pw-context-row{gap:5px}.payroll-workspace .pw-context-row button{min-height:28px;padding:5px 8px;font-size:12px}.payroll-workspace .pw-context [data-context-meta]{font-size:11px;margin-top:5px}.payroll-workspace .pw-tabs{margin-bottom:8px;gap:4px}.payroll-workspace .pw-tabs button,.payroll-workspace .pw-tabs a{min-height:30px;padding:5px 7px;font-size:12px}.payroll-workspace .pw-stages{padding:5px 0}.payroll-workspace .pw-stages button{min-height:36px;padding:5px 4px}.payroll-workspace .pw-stage-summary h2{font-size:18px;margin:8px 0 3px}.payroll-workspace .pw-stage-summary p{font-size:12px;line-height:1.3;margin-bottom:8px}

/* Store and employee heading rows replace repeated identity columns. */
.payroll-workspace .pw-attendance .pw-att-store>th{background:#dce8df;color:#243e31;border-top:2px solid #afc5b6;text-align:left;font-size:13px}.payroll-workspace .pw-attendance .pw-att-employee>th{background:#eef1e5;color:#344637;border-top:1px solid #cfd8c6;text-align:left}.pw-attendance .pw-att-employee small{display:inline;font-weight:400;font-size:11px;margin-left:8px}.pw-attendance .pw-att-store>th,.pw-attendance .pw-att-employee>th{overflow:visible;max-width:none}.pw-attendance .pw-att-store span,.pw-attendance .pw-att-employee span{position:sticky;left:4px;width:max-content}.payroll-workspace .pw-attendance .pw-att-date-button{display:inline;border:0;background:transparent;box-shadow:none;font-size:11px;line-height:22px;min-height:0;padding:0;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.payroll-workspace .pw-attendance [data-attendance-row] input[type=hidden]{display:none!important}

.payroll-workspace .pw-attendance .pw-att-toggle{display:block;width:100%;min-height:24px;padding:0 2px;margin:0;border:0;border-radius:0;background:transparent;color:inherit;box-shadow:none;text-align:left;font:inherit;font-weight:600;line-height:22px;cursor:pointer}.pw-attendance .pw-att-toggle:focus-visible{outline:2px solid #3b7054;outline-offset:-2px}.pw-attendance .pw-att-toggle [data-fold-icon]{display:inline-block;width:10px;font-size:11px}.pw-attendance .pw-att-toggle:hover{background:#d2e0d1}

/* Keep one field per column; compact subsidy and missing-punch counts. */
.payroll-workspace .pw-attendance .pw-att-missing,.payroll-workspace .pw-attendance .pw-att-delivery{width:66px;min-width:66px;background:#eef3e6}.payroll-workspace .pw-attendance .pw-att-missing input,.payroll-workspace .pw-attendance .pw-att-delivery input{width:55px!important;text-align:center}.pw-att-person-heading{display:flex;align-items:center;gap:8px;position:sticky;left:4px;width:max-content;max-width:100%}.payroll-workspace .pw-att-person-heading .pw-att-toggle{width:auto}.payroll-workspace .pw-attendance .pw-att-add,.payroll-workspace .pw-attendance [data-cancel-manual]{padding:1px 7px;min-height:24px;font-size:11px;border-radius:5px;line-height:20px}.pw-att-person-heading .pw-att-toggle span{position:static}.payroll-workspace .pw-attendance .pw-att-manual-draft>td{background:#fff4df!important}.payroll-workspace .pw-attendance .pw-att-date input[type=date]{width:124px!important;min-width:124px}.payroll-workspace .pw-attendance .pw-att-manual-draft .pw-att-date-button{margin-left:4px;white-space:nowrap}.payroll-workspace .pw-attendance .pw-att-manual-draft>.pw-att-date{min-width:184px}

.payroll-workspace .pw-attendance:has(.pw-att-manual-draft) thead th:first-child,.payroll-workspace .pw-attendance:has(.pw-att-manual-draft) [data-attendance-row]>td:first-child{width:184px!important;min-width:184px!important;max-width:184px!important}.payroll-workspace .pw-attendance .pw-att-manual-draft .pw-att-date-button{font-size:10px;margin-left:2px}.payroll-workspace .pw-attendance .pw-att-manual-draft input[type=date]{width:116px!important;min-width:116px!important}.payroll-workspace .pw-attendance thead th:nth-child(9),.payroll-workspace .pw-attendance thead th:nth-child(10){width:66px;min-width:66px;background:#edf1e3!important}

.payroll-workspace .pw-attendance thead th:nth-child(9),.payroll-workspace .pw-attendance thead th:nth-child(10){text-align:center}
.pw-open-periods{display:flex;gap:6px;flex-wrap:wrap;flex:1 1 100%}.pw-open-periods button{text-align:left;padding:7px 10px;font-size:.85rem}.pw-open-periods [aria-pressed=true]{background:var(--accent,#316c65);color:#fff;border-color:var(--accent,#316c65)}.payroll-workspace .pw-inline{align-items:flex-end}.payroll-workspace .pw-inline>button{margin-bottom:0}.payroll-workspace .pw-tabs a,.payroll-workspace .pw-tabs button{display:inline-flex;align-items:center;justify-content:center;min-height:36px}.payroll-workspace table td.num,.payroll-workspace table th.num{font-variant-numeric:tabular-nums}.payroll-workspace .pw-raw-store{padding:6px 0;border-bottom:1px solid #dce3db}
/* Keep the draft cancellation reachable beside the sticky date on narrow screens. */
.pw-attendance .pw-att-manual-draft .pw-att-raw{text-align:right}.pw-attendance [data-cancel-manual]{scroll-margin:80px 8px}.pw-attendance-scroll{scroll-padding-bottom:80px}
/* Annual totals expand to compact dated slips; technical provenance stays in storage. */
[data-annual-person]{cursor:pointer}
[data-annual-person]:hover,[data-annual-person][aria-expanded="true"]{background:#e6eee9}
[data-annual-person]:focus-visible{outline:2px solid #316e65;outline-offset:-2px}
.pw-annual-history{font-size:.88rem;font-variant-numeric:tabular-nums}
.pw-annual-history th,.pw-annual-history td{padding:5px 8px;white-space:nowrap}
.pw-employee-breakdown{width:min(1080px,calc(100vw - 90px));white-space:normal;padding:8px 0}.pw-employee-breakdown h4{margin:14px 0 8px}.pw-employee-breakdown>p,.pw-employee-breakdown .pw-breakdown p{white-space:normal;line-height:1.6;overflow-wrap:anywhere}.pw-employee-breakdown .pw-breakdown{max-width:100%}.pw-employee-breakdown .pw-scroll{margin:0}.pw-daily-calculation td.pw-calculation-text{white-space:normal;min-width:220px;max-width:340px;line-height:1.6}.pw-tax-results th:first-child,.pw-tax-results td:first-child{position:sticky;left:0;background:#f8faf6;z-index:1}.pw-pool-details>summary{cursor:pointer;font-weight:600}.pw-pool-details>p{line-height:1.6}.pw-employee-breakdown .num{font-variant-numeric:tabular-nums}@media(max-width:600px){.pw-employee-breakdown{width:calc(100vw - 80px);min-width:220px}.pw-employee-breakdown .pw-breakdown{grid-template-columns:1fr;max-width:100%;gap:0}.pw-daily-calculation td.pw-calculation-text{min-width:200px}}

/* Keep column titles pinned inside the attendance scroller on both axes. */
.pw-attendance{border-collapse:separate!important;border-spacing:0!important}
.pw-attendance thead{position:sticky;top:0;z-index:6}
.pw-attendance thead th{background:#e5eee6!important;box-shadow:inset 0 -2px #a9c2b5}
.payroll-workspace .pw-attendance select{min-width:55px;max-width:100%;width:100%;min-height:24px;height:24px;padding:1px 5px;font:inherit}
.pw-att-person-heading .pw-att-add{background:#ffe1a6;color:#553500;border:1px solid #c18b2c;border-radius:5px;padding:3px 12px;font-weight:700}
.pw-att-person-heading .pw-att-add:hover{background:#ffd17b}
.pw-results .pw-result-details>td{position:static!important;white-space:normal;padding:12px!important}
.pw-payslip-scroll{max-width:100%;overflow:auto;overscroll-behavior-x:contain}
.pw-payslip-board{display:flex;align-items:stretch;width:max-content;min-width:100%;border:1px solid #c4d2ca;background:#fffdfa;color:#243a32}
.pw-payslip-days{flex:none}
.pw-results .pw-payslip-calendar{border-collapse:separate;border-spacing:0;table-layout:fixed;width:auto!important;min-width:0}
.pw-results .pw-payslip-calendar th,.pw-results .pw-payslip-calendar td{position:static!important;width:80px;min-width:80px;max-width:110px;padding:5px 6px!important;border:0;border-right:1px solid #d4ddd6;border-bottom:1px solid #d4ddd6;text-align:center;white-space:normal;background:transparent;box-sizing:border-box}
.pw-results .pw-payslip-calendar th:first-child{width:84px;min-width:84px;font-weight:700}
.pw-payslip-calendar thead th{background:#e7eee4!important}
.pw-payslip-calendar small{display:block;font-size:11px}
.pw-payslip-calendar .pw-weekend{color:#9b3e24}
.pw-payslip-time,.pw-payslip-evening{--pw-day-fill:#fffaf0}.pw-payslip-hours{--pw-day-fill:#e8f2fa}.pw-payslip-bonus{--pw-day-fill:#f2edf8}
.pw-results .pw-payslip-calendar .pw-day-increase{border-left:2px solid #bf3030;border-right:2px solid #bf3030}
.pw-results .pw-payslip-calendar .pw-day-decrease{border-left:2px solid #21824d;border-right:2px solid #21824d}
.pw-results .pw-payslip-calendar .pw-day-top{border-top:2px solid}.pw-results .pw-payslip-calendar .pw-day-bottom{border-bottom:2px solid}
.pw-results .pw-payslip-calendar .pw-day-increase.pw-day-top,.pw-results .pw-payslip-calendar .pw-day-increase.pw-day-bottom{border-color:#bf3030}
.pw-results .pw-payslip-calendar .pw-day-decrease.pw-day-top,.pw-results .pw-payslip-calendar .pw-day-decrease.pw-day-bottom{border-color:#21824d}
.pw-payslip-note{font-size:12px;white-space:normal}.pw-pay-increase-legend{color:#a52626}.pw-pay-decrease-legend{color:#176b3e}

/* Compact summary above each daily-only payslip. Keep full amounts readable. */
.payroll-workspace .pw-results{table-layout:fixed;width:100%!important;min-width:1120px;font-size:12px}
.payroll-workspace .pw-results>thead>tr>th,.payroll-workspace .pw-results>tbody>tr[data-wage-result]>td{padding:7px 4px!important;vertical-align:middle;white-space:normal;overflow-wrap:anywhere;font-size:12px;min-width:0}
.payroll-workspace .pw-results>thead>tr>th:first-child{width:76px}
.payroll-workspace .pw-results>thead>tr>th:nth-child(2){width:76px}
.payroll-workspace .pw-results>thead>tr>th:nth-child(4){width:94px}

.payroll-workspace .pw-results>tbody>tr[data-wage-result]>td.num{white-space:nowrap}
.payroll-workspace .pw-results .pw-adjustment input[type=number]{min-width:0!important;width:100%;max-width:none;height:28px;min-height:28px;padding:3px!important;font-size:12px;box-sizing:border-box;appearance:textfield}
.pw-adjustment input::-webkit-inner-spin-button,.pw-adjustment input::-webkit-outer-spin-button{appearance:none;margin:0}
.payroll-workspace .pw-adjustment button{display:block;margin:2px auto 0;padding:1px 6px;font-size:11px;min-height:22px;line-height:18px}
.payroll-workspace .pw-results .pw-result-details>td{padding:8px 0 16px!important}
.payroll-workspace .pw-payslip-board{width:100%;min-width:0;display:block;box-sizing:border-box}
.payroll-workspace .pw-payslip-days{width:100%;min-width:0}
.payroll-workspace .pw-results .pw-payslip-calendar{width:100%!important;min-width:0!important;font-size:12px}
.payroll-workspace .pw-results .pw-payslip-calendar th,.payroll-workspace .pw-results .pw-payslip-calendar td{width:auto;min-width:0;max-width:none;font-size:12px;line-height:18px;padding:3px 2px!important;height:auto!important;overflow-wrap:anywhere}
.payroll-workspace .pw-results .pw-payslip-calendar th:first-child{width:64px;min-width:64px}
.payroll-workspace .pw-payslip-note{font-size:11px;margin:5px 4px 0}
@media(min-width:1600px){.payroll-workspace .pw-results,.payroll-workspace .pw-results>thead>tr>th,.payroll-workspace .pw-results>tbody>tr[data-wage-result]>td,.payroll-workspace .pw-results .pw-payslip-calendar th,.payroll-workspace .pw-results .pw-payslip-calendar td{font-size:13px}}
/* Keep the coefficient and paid-day label visible at the larger desktop font. */
@media(min-width:1600px){.payroll-workspace .pw-results>thead>tr>th:nth-child(4){width:104px}}

/* Repeated employee summaries form a distinct band above the daily calendar. */
.payroll-workspace .pw-results{margin:14px 0 8px;border-top:3px solid #497464}
.payroll-workspace .pw-results>thead>tr>th{color:#203e32;text-align:right;height:44px;line-height:17px}
.payroll-workspace .pw-results>thead>tr>th:first-child{text-align:left}
.payroll-workspace .pw-results>thead>tr>th:nth-child(2),.payroll-workspace .pw-results>thead>tr>th:nth-child(4),.payroll-workspace .pw-results>tbody>tr[data-wage-result]>td:nth-child(4){text-align:center}
.payroll-workspace .pw-results>tbody>tr[data-wage-result]>td{height:48px;border-bottom:2px solid #aac1b5}
.payroll-workspace .pw-results>tbody>tr[data-wage-result]>td:nth-last-child(-n+3){font-weight:700}
.payroll-workspace .pw-results .pw-adjustment input{text-align:right;border-radius:5px;background:#fff}
.payroll-workspace .pw-results .pw-result-details>td{background:#fffdf8!important;padding-top:12px!important}
.payroll-workspace .pw-save-adjustments{background:#245d47;color:#fff;border-color:#245d47;font-weight:700}
.payroll-workspace .pw-refresh-results{background:#d9e9f3;color:#193f59;border-color:#84a7bf;font-weight:700}
.payroll-workspace .pw-save-adjustments:hover{background:#194c38}
.payroll-workspace .pw-refresh-results:hover{background:#c5deef}
.payroll-workspace .pw-zero-pay{margin-top:20px;border:1px solid #bbc9c0;border-radius:6px;background:#f0f3ed;padding:10px}
.payroll-workspace .pw-zero-pay>summary{cursor:pointer;font-weight:700;color:#425e50;padding:5px}

/* Business groups, not column positions: nested dates never inherit wage colors. */
.payroll-workspace .pw-results [data-summary-group="context"]{--pw-summary-heading:#e9eeeb;--pw-summary-fill:#f7f9f7}
.payroll-workspace .pw-results [data-summary-group="income"]{--pw-summary-heading:#e2eee9;--pw-summary-fill:#f0f6f2}
.payroll-workspace .pw-results [data-summary-group="tax"]{--pw-summary-heading:#eee7db;--pw-summary-fill:#faf6ef}
.payroll-workspace .pw-results [data-summary-group="payment"]{--pw-summary-heading:#d7e7df;--pw-summary-fill:#e8f1ec}
.payroll-workspace .pw-results>thead>tr>th[data-summary-group]{background:var(--pw-summary-heading)!important}
.payroll-workspace .pw-results>tbody>tr[data-wage-result]>td[data-summary-group]{background:var(--pw-summary-fill)!important}
.payroll-workspace .pw-results [data-summary-group="context"]+[data-summary-group="income"],.payroll-workspace .pw-results [data-summary-group="income"]+[data-summary-group="tax"],.payroll-workspace .pw-results [data-summary-group="tax"]+[data-summary-group="payment"]{border-left:2px solid #c5d1ca}
.payroll-workspace .pw-results .pw-payslip-calendar>thead>tr>th{background:#edf0eb!important}
.payroll-workspace .pw-results .pw-payslip-calendar>tbody>tr>th,.payroll-workspace .pw-results .pw-payslip-calendar>tbody>tr>td{background:var(--pw-day-fill)!important}

/* Provenance belongs to individual time inputs, not rows or business columns. */
.payroll-workspace .pw-attendance thead th{background:#eef1ef!important;color:#304b40}
.payroll-workspace .pw-attendance .pw-att-store>th{background:#e8edeb;color:#304b40;border-top:1px solid #c7d1cb}
.payroll-workspace .pw-attendance .pw-att-person-heading>th{background:#f3f5f4;color:#304b40}
.payroll-workspace .pw-attendance td,.payroll-workspace .pw-attendance tr:nth-child(even)>td{background:#fff!important}
.payroll-workspace .pw-attendance input,.payroll-workspace .pw-attendance select{background:#fff;border-color:#d4ddd7;border-radius:3px}
.payroll-workspace .pw-attendance input[data-time-source=auto],.pw-provenance-legend [data-time-source=auto]{background:#e8f2fb;border-color:#abc6df;color:#294a69}
.payroll-workspace .pw-attendance input[data-time-source=manual],.pw-provenance-legend [data-time-source=manual]{background:#fff0d8;border-color:#dbb77b;color:#76501d}
.pw-provenance-legend{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px;margin-bottom:8px}.pw-provenance-legend span{padding:3px 7px;border:1px solid #d4ddd7;border-radius:4px}
/* 1107-02 配送补贴：每天一行、两家粉铺并排 */
.payroll-workspace .pw-scroll table.pw-delivery-days{width:auto;min-width:0}.payroll-workspace .pw-scroll .pw-delivery-days th,.payroll-workspace .pw-scroll .pw-delivery-days td{white-space:nowrap;vertical-align:middle;padding:4px 8px;height:auto;min-width:0!important;width:auto!important}.pw-delivery-days thead tr:first-child th{text-align:center}.pw-delivery-days .pw-store-start{border-left:2px solid var(--line,#d9d9d9)}.payroll-workspace .pw-delivery-days select{width:96px!important;min-height:30px!important;height:30px;padding:4px 6px}.payroll-workspace .pw-delivery-days input{width:68px!important;min-height:30px!important;height:30px;padding:4px 6px;text-align:right}.pw-delivery-days .pw-src{font-size:12px;color:var(--muted)}.pw-delivery-days .pw-src.is-edited{color:var(--green,#2f6b5a)}.pw-delivery-days .pw-src.error-text{color:#a43f35}.pw-delivery-days tfoot td{font-weight:600}.payroll-workspace .pw-delivery-days tr>:first-child{position:sticky;left:0;z-index:1;background:var(--paper,#faf9f5)}
/* 1107-16 payroll net pay (step 3 after settlement) */
.pw-net-pay>.pw-inline h3{margin:0}.pw-net-pay .pw-np-status{padding:2px 10px;border-radius:999px;background:#eef1ec;font-size:13px}.pw-net-pay .pw-np-status.warn{background:#fff1d6;color:#7a4b00}.pw-net-pay .pw-np-status.done{background:#e3f4e8;color:#1d6b3a}
.pw-np-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}.pw-np-grid>div{border:1px solid #dce3d9;border-radius:6px;background:#f7f8f4;padding:10px 12px;min-width:0}.pw-np-grid small,.pw-np-grid strong{display:block}.pw-np-grid strong{font-size:17px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.pw-np-missing{color:#a35b00}
.pw-np-problems{margin:6px 0 8px;padding-left:18px;color:#8a4b00}.pw-np-lines{margin:6px 0}.pw-np-lines summary{cursor:pointer}.pw-np-actions a{display:inline-block;border:1px solid var(--line,#d9d9d9);background:var(--white,#fff);padding:9px 14px;border-radius:var(--radius,6px);color:var(--ink,#222);text-decoration:none}.pw-np-choose select{min-height:38px}
@media (max-width:700px){.pw-np-grid{grid-template-columns:1fr}}
