.payroll .payroll-controls{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:16px 0}.payroll label{display:flex;flex-direction:column;gap:5px}.payroll input,.payroll select,.payroll textarea{font:inherit;padding:8px;border:1px solid var(--line,#d9e1e7);border-radius:4px;max-width:100%}.payroll-sheet{--p-bg:#fff;--p-text:#24313b;--p-line:#d9e1e7;--p-alt:#f3f7fa;--p-input:#e7f1fa;--p-blue:#17679c;background:#f6f8fa;color:var(--p-text);padding:18px;max-width:1100px;margin:auto;border:1px solid var(--p-line);border-radius:6px}[data-theme=dark] .payroll-sheet{--p-bg:#2b3036;--p-text:#edf2f7;--p-line:#4a5561;--p-alt:#30363d;--p-input:#263e51;--p-blue:#8cc8ff;background:#202328}.payroll-brand{display:flex;align-items:center;gap:28px;background:#181818;color:#d1d5da;padding:18px 22px;border-bottom:5px solid #e9a72b}.payroll-brand img{width:78px;height:84px;object-fit:contain}.payroll-brand h2{color:#f4d58b;margin:0 0 8px;font-size:25px}.payroll-brand p{margin:3px 0 9px}.payroll-brand span{color:#e9a72b}.payroll .payroll-band{background:#303030;color:#f4d58b;font-size:13px;letter-spacing:.5px;padding:10px 13px;margin:0}.payroll-identity{display:flex;gap:24px;flex-wrap:wrap;background:var(--p-bg);padding:18px 13px}.payroll-input-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:14px;background:var(--p-bg)}.payroll-sheet label{font-size:12px;position:relative}.payroll-sheet label small{color:var(--p-blue)}.payroll-sheet input{width:100%;background:var(--p-input);color:var(--p-blue);font-weight:600;border:0;border-bottom:1px solid var(--p-line);text-align:right;border-radius:0}.payroll-factors{background:var(--p-bg);padding:12px;font-size:12px;margin-bottom:18px}.payroll-factors summary{cursor:pointer}.payroll-sheet table{width:100%;border-collapse:collapse;background:var(--p-bg);font-size:12px}.payroll-sheet th{background:var(--p-alt);color:var(--p-text)}.payroll-sheet td,.payroll-sheet th{padding:10px;border-bottom:1px solid var(--p-line)}.payroll-sheet tr:nth-child(even){background:var(--p-alt)}.payroll-sheet td:not(:first-child){text-align:right}.payroll-sheet th:not(:first-child){text-align:right}.payroll-total{display:flex;justify-content:space-between;gap:16px;padding:20px 12px;background:#fff5df;color:#805309;margin-top:18px}[data-theme=dark] .payroll-sheet .payroll-total{background:#3a3323;color:#f4d58b}.payroll-summary{display:flex;gap:18px;flex-wrap:wrap;padding:14px;background:var(--p-bg);font-size:12px}.payroll-save{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:20px;font-size:11px}.payroll-review td{white-space:normal;vertical-align:top}.payroll-review td:first-child{min-width:210px}.payroll-review td:last-child{min-width:180px}.payroll-review td button{display:block;margin-bottom:8px}.payroll-action-changed td:first-child,.payroll-action-added td:first-child{border-left:4px solid #e9a72b}.payroll-action-removed td:first-child{border-left:4px solid #ab5361}.payroll-missing{padding:16px;background:var(--p-bg)}#payroll-correction form{min-width:min(460px,70vw)}#payroll-correction label{display:flex;flex-direction:column;gap:7px;margin:16px 0}#payroll-correction input{padding:10px;font:inherit}#payroll-message:empty{display:none}@media(max-width:1000px){.payroll-input-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-save,.payroll-total{flex-direction:column;align-items:flex-start}}@media print{body:has(.payroll)>*:not(.shell){display:none}body:has(.payroll) aside,.payroll-controls,.payroll-save,.payroll>.toolbar,#payroll-message{display:none}body:has(.payroll) .shell{display:block}.payroll-sheet{max-width:none;border:0}body:has(.payroll) main{padding:0}}

.payroll-identity-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:14px;background:var(--p-bg);border-bottom:1px solid var(--p-line)}.payroll-identity-row input[readonly]{background:var(--p-alt);color:var(--p-text)}@media(max-width:650px){.payroll-identity-row{grid-template-columns:1fr}}

.payroll-identity{align-items:center}.payroll-identity>label{margin-left:auto;min-width:190px;max-width:240px;flex:1}@media(max-width:650px){.payroll-identity>label{margin-left:0;max-width:none;width:100%}}

.payroll-identity>label{flex-direction:row;align-items:center;gap:8px;min-width:320px;max-width:390px;white-space:nowrap}.payroll-identity>label input{flex:1 1 90px;min-width:75px;max-width:110px;width:100px}.payroll-identity>label small{flex:0 0 auto}@media(max-width:650px){.payroll-identity>label{min-width:0;flex-basis:100%;max-width:none;justify-content:space-between}.payroll-identity>label input{flex:0 1 110px}}

.payroll-identity-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.payroll-identity-row .payroll-advance{grid-column:4}.payroll-sheet input[name=advance]{background:#fce7ea;color:#923340;border-bottom-color:#d9a4ae}[data-theme=dark] .payroll-sheet input[name=advance]{background:#4a2930;color:#ffd2d6;border-bottom-color:#a66b78}@media(max-width:1000px){.payroll-identity-row{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-identity-row .payroll-advance{grid-column:2}}@media(max-width:650px){.payroll-identity-row{grid-template-columns:1fr}.payroll-identity-row .payroll-advance{grid-column:1}}

.payroll-identity{gap:18px}.payroll-identity>label{display:grid;grid-template-columns:1fr auto;gap:5px 8px;align-items:center;min-width:160px;max-width:200px;flex:1 1 170px;margin-left:0;white-space:normal}.payroll-identity>label input{grid-column:1 / -1;width:100%;min-width:0;max-width:none;flex:none}.payroll-identity>label small{justify-self:end}@media(max-width:650px){.payroll-identity>label{max-width:none;flex-basis:100%}}
.payroll-identity>label:has(input[name=rate]){margin-left:auto}
.payroll-input-grid>label:has(input[name=night]),.payroll-input-grid>label:has(input[name=holidayDays]){grid-column:1}
.payroll-sheet input[name=overtimeAdjustment]{background:#fff3c4;color:#785500;border-bottom-color:#dbbf62}[data-theme=dark] .payroll-sheet input[name=overtimeAdjustment]{background:#4a3f1c;color:#ffe49a;border-bottom-color:#aa9143}
.payroll-input-row{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;gap:14px;outline:1px solid var(--p-line);outline-offset:6px;border-radius:3px;margin:6px 0}
.payroll-input-row{grid-column:1 / span 3}.payroll-input-row-full{grid-column:1 / -1}@media(max-width:1000px){.payroll-input-row{grid-column:1 / -1}}
.payroll-quick-total{grid-column:4;grid-row:3;display:grid;gap:4px;align-content:center;padding:6px 12px;background:#fff5df;color:#805309;border-radius:3px;font-size:12px;text-align:right}.payroll-quick-total strong{font-size:17px}.payroll-quick-total strong+span{margin-top:8px}[data-theme=dark] .payroll-quick-total{background:#3a3323;color:#f4d58b}@media(max-width:1000px){.payroll-quick-total{grid-column:1 / -1;grid-row:auto}}

.payroll-brand{display:grid;grid-template-columns:78px minmax(170px,.8fr) minmax(340px,1.5fr);gap:22px;align-items:center}.payroll-head-tools{min-width:0}.payroll .payroll-head-tools .payroll-controls{margin:0;gap:10px;align-items:end}.payroll-head-tools .payroll-controls>label{flex:1 1 180px;min-width:0;color:#d1d5da}.payroll-head-tools select{width:100%;background:#303030;color:#f4f4f4;border-color:#59616a}.payroll-head-tools input[type=file]{background:#303030;color:#d1d5da;font-weight:400;text-align:left;font-size:11px;padding:6px}.payroll-head-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:12px}.payroll-head-tools button{font-size:12px}.payroll-head-tools button:not(.primary){background:#303030;color:#f4f4f4;border:1px solid #59616a}@media(max-width:1100px){.payroll-brand{grid-template-columns:78px 1fr}.payroll-head-tools{grid-column:1 / -1}}@media print{.payroll-head-tools{display:none}}

.payroll-head-tools button.payroll-delete,#payroll-delete-dialog button.payroll-delete{background:#a52e40;color:#fff;border:1px solid #d56677}.payroll-head-tools button:disabled{opacity:.5;cursor:not-allowed}#payroll-delete-dialog{max-width:min(520px,90vw)}#payroll-delete-dialog label{display:flex;flex-direction:column;gap:8px;margin:18px 0}#payroll-delete-dialog input{padding:10px;font:inherit}

.payroll-brand{grid-template-columns:78px minmax(170px,.8fr) minmax(560px,2fr)}.payroll-head-tools{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) auto 190px;gap:10px;align-items:end}.payroll .payroll-head-tools .payroll-controls,.payroll-head-actions{display:contents}.payroll-head-tools .payroll-controls>label:first-child{grid-column:1;grid-row:1}.payroll-head-tools .payroll-file{grid-column:2;grid-row:1}.payroll-head-tools select,.payroll-head-tools input[type=file],.payroll-head-tools button{height:38px;width:100%;box-sizing:border-box;min-width:0}.payroll-head-tools input[type=file]{border:1px solid #59616a;border-radius:4px;padding:6px}.payroll-head-tools #payroll-xlsx-export{grid-column:4;grid-row:1}.payroll-head-tools #payroll-send{grid-column:4;grid-row:2;white-space:nowrap;padding-inline:8px}.payroll-head-tools #payroll-reset{grid-column:1;grid-row:2}.payroll-head-tools #payroll-delete{grid-column:2;grid-row:2}.payroll-head-tools button[type=submit]{grid-column:3;grid-row:2}.payroll-head-tools #payroll-restore{grid-column:2;grid-row:3}@media(max-width:1100px){.payroll-brand{grid-template-columns:78px 1fr}.payroll-head-tools{grid-column:1 / -1}}@media(max-width:750px){.payroll-head-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-head-tools #payroll-xlsx-export{grid-column:2;grid-row:3}.payroll-head-tools #payroll-send{grid-column:2;grid-row:4}.payroll-head-tools #payroll-reset{grid-column:1;grid-row:3}.payroll-head-tools #payroll-delete{grid-column:1;grid-row:4}.payroll-head-tools button[type=submit]{grid-column:1;grid-row:5}.payroll-head-tools #payroll-restore{grid-column:2;grid-row:5}}
.payroll-review button[data-payroll-confirm]{background:#247044;color:#fff;border:1px solid #3e9160}.payroll-review button[data-payroll-correct]{background:#a52e40;color:#fff;border:1px solid #cc6072}[data-theme=dark] .payroll-review button[data-payroll-confirm]{background:#245a3d;color:#d6f6e1;border-color:#4b986b}[data-theme=dark] .payroll-review button[data-payroll-correct]{background:#73303d;color:#ffe4e9;border-color:#be6576}

.payroll-workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px;align-items:start}.payroll-workspace-content{min-width:0;container-type:inline-size}.payroll-workspace .payroll-sheet{margin-left:0;margin-right:0;width:100%}.payroll-employee-list{background:var(--surface,#fff);border:1px solid var(--line,#d9e1e7);border-radius:6px;padding:12px;min-width:0}.payroll-employee-list h3{font-size:14px;margin:0 0 12px}.payroll-employee-list table{width:100%;border-collapse:collapse;font-size:11px}.payroll-employee-list td,.payroll-employee-list th{padding:8px 4px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line,#d9e1e7)}.payroll-employee-list button[data-payroll-employee]{border:0;background:transparent;color:inherit;text-align:left;padding:0;font:inherit;text-decoration:underline;overflow-wrap:anywhere}.payroll-employee-status{display:inline-block;padding:3px 5px;border-radius:4px}.payroll-status-missing{background:#edf0f3;color:#53616d}.payroll-status-created{background:#fff0cd;color:#795600}.payroll-status-reviewed{background:#e5f3e9;color:#286341}.payroll-employee-selected{background:#eaf2fa}[data-theme=dark] .payroll-employee-list{background:#2b3036;border-color:#4a5561}[data-theme=dark] .payroll-employee-selected{background:#263e51}[data-theme=dark] .payroll-status-missing{background:#373e46;color:#d1dae4}[data-theme=dark] .payroll-status-created{background:#4a3f1c;color:#ffe49a}[data-theme=dark] .payroll-status-reviewed{background:#263c30;color:#a6e2be}@container(max-width:1000px){.payroll-brand{grid-template-columns:78px 1fr}.payroll-head-tools{grid-column:1 / -1}}@container(max-width:670px){.payroll-head-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-head-tools #payroll-xlsx-export{grid-column:2;grid-row:3}.payroll-head-tools #payroll-send{grid-column:2;grid-row:4}.payroll-head-tools #payroll-reset{grid-column:1;grid-row:3}.payroll-head-tools #payroll-delete{grid-column:1;grid-row:4}.payroll-head-tools button[type=submit]{grid-column:1;grid-row:5}.payroll-head-tools #payroll-restore{grid-column:2;grid-row:5}}@media(max-width:1000px){.payroll-workspace{grid-template-columns:1fr}.payroll-employee-list{grid-row:auto}}@media print{.payroll-workspace{display:block}.payroll-employee-list{display:none}}
.payroll-workspace{grid-template-columns:minmax(0,1100px) minmax(340px,420px);gap:10px;justify-content:start}.payroll-employee-list table{table-layout:fixed;font-size:12px}.payroll-employee-list td,.payroll-employee-list th{white-space:normal;overflow-wrap:anywhere}.payroll-employee-list th:first-child{width:68px}.payroll-employee-list th:last-child{width:132px}.payroll-employee-list button[data-payroll-employee]{white-space:normal;max-width:100%;line-height:1.4}.payroll-employee-status{white-space:normal;max-width:100%;line-height:1.4}@media(max-width:1000px){.payroll-workspace{grid-template-columns:minmax(0,1fr)}}

.payroll-employee-column{min-width:0;display:grid;gap:10px}.payroll .payroll-month-selector{justify-self:start;align-items:flex-start;margin:0;font-size:12px}.payroll-month-selector input{width:180px;height:38px}@media print{.payroll-employee-column{display:none}}
