.payroll-workspace{min-height:100%;background:#F4F7FA;padding:0 var(--page-x) var(--work-bottom-gap);min-width:0}
.payroll-topbar{margin:0 calc(-1 * var(--page-x))}
.payroll-topbar .team-topbar-actions{gap:8px}
.payroll-content{min-width:0;padding-top:0}
.payroll-mobile-navigation{display:none}
@media(max-width:760px){.payroll-mobile-navigation{display:block}.payroll-mobile-navigation .mobile-section-switcher{margin:12px 0 0}.payroll-mobile-navigation+.team-topbar{margin-top:12px}}
.payroll-filters{display:flex;flex-wrap:wrap;align-items:end;gap:var(--page-x);padding:12px;border:1px solid #e2e8f0;border-radius:var(--card-radius);background:#fff}
.payroll-filters .field{min-width:160px;flex:1 1 170px;margin:0}
.payroll-filters .field span,.payroll-filter-inline .field span{font-size:12px}
.payroll-refresh{min-height:var(--control-h);height:var(--control-h)}
.payroll-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:var(--page-x);border-radius:var(--card-radius);overflow:hidden;background:#e6edf5}
.payroll-summary>div{background:#fff;padding:16px 18px}
.payroll-summary span{display:block;color:#71819a;font-size:13px}
.payroll-summary strong{font-variant-numeric:tabular-nums;display:block;margin-top:5px;font-size:24px;color:#13213a}
.payroll-section-head{display:flex;justify-content:space-between;align-items:center;gap:var(--page-x);margin:var(--page-x) 0}
.payroll-section-head h2,.payroll-ledger h2{margin:0;font-size:var(--type-section-title-size);color:#17233a}
.payroll-section-head.compact{margin-bottom:10px}
.payroll-table-wrap{overflow:auto;border:1px solid #e0e8f1;border-radius:16px;background:#fff}
.payroll-table{font-variant-numeric:tabular-nums;border-collapse:collapse;width:100%;min-width:850px}
.payroll-table th{text-align:left;padding:13px 18px;background:#f9fbfd;color:#71819a;font-size:12px;font-weight:600}
.payroll-table td{padding:15px 18px;border-top:1px solid #edf1f6;color:#34435b;font-size:14px}
.payroll-table td strong{color:#15213a}
.payroll-table th:not(:first-child),.payroll-table td:not(:first-child){text-align:right;white-space:nowrap}
.payroll-table th:first-child,.payroll-table td:first-child:not([colspan]){position:sticky;left:0;z-index:1;min-width:180px;max-width:260px;background:#fff}
.payroll-table th:first-child{background:#f9fbfd}
.payroll-table td:first-child:not([colspan]){box-shadow:1px 0 0 #edf1f6}
.payroll-table small,.payroll-scheme-card small{display:block;margin-top:4px;color:#8391a5;font-size:12px}
.payroll-details-link{display:block;margin-top:5px;padding:0;border:0;background:transparent;color:#0b9c90;font:600 12px Inter,sans-serif;cursor:pointer}
.payroll-table .payroll-details-link{margin-left:auto}
.payroll-details-row{display:none}
.payroll-details-row.is-open{display:table-row}
.payroll-details-row td{background:#f8fbfc;padding:8px 18px 14px}
.payroll-details-row div{display:grid;grid-template-columns:1fr auto auto;gap:16px;padding:7px 0;font-size:13px}
.payroll-details-row small{margin:0}
.payroll-calculation-note{margin:12px 0;color:#71819a;font-size:12px;line-height:1.5}
.payroll-calculation-warning{padding:10px 12px;margin:10px 0;border:1px solid #f1d59e;border-radius:10px;background:#fff9ed;color:#8d5a0b;font-size:12px;line-height:1.5}
.payroll-table small.payroll-warning{color:#a26714}
.payroll-line time{font-size:12px;color:#71819a;white-space:nowrap}
.payroll-line strong{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.payroll-details-row .payroll-line,.payroll-run-person .payroll-line{display:grid;grid-template-columns:90px minmax(0,1fr) auto;gap:14px;padding:10px 0;border-top:1px solid #e7edf4}
.payroll-run-person .payroll-line small{display:block;color:#71819a;font-size:12px;margin-top:4px}
.payroll-run-open{border:0;padding:0;background:transparent;color:#15213a;font:600 14px Inter,sans-serif;text-align:left;cursor:pointer}
.payroll-run-open:hover{color:#0b9c90}
.payroll-run-open:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.payroll-run-modal{display:flex;flex-direction:column;overflow:hidden}
.payroll-run-modal .modal-header{flex-shrink:0}
.payroll-run-modal .modal-body{overflow:auto;min-height:0}
.payroll-pagination{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:16px;color:#71819a}
.payroll-runs{margin-top:var(--page-x)}
.payroll-run-list{display:grid;gap:8px}
.payroll-run-list article,.payroll-ledger article{display:flex;align-items:center;gap:18px;padding:14px 16px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}
.payroll-run-list article>div,.payroll-ledger article>div{flex:1}
.payroll-run-list span,.payroll-ledger span{display:block;margin-top:3px;color:#8290a4;font-size:12px}
.payroll-run-list b{color:#17233a}
.payroll-empty{display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:28px;border:1px dashed #cbd8e7;border-radius:16px;color:#5c6e87;background:#fff}
.payroll-empty span{color:#8290a4;font-size:14px}
.payroll-filter-inline{margin-bottom:var(--page-x)}
.payroll-filter-inline .select{width:240px;max-width:100%}
.payroll-scheme-list{display:grid;gap:8px}
.payroll-scheme-card{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,1.4fr) 206px;gap:16px;align-items:center;width:100%;min-height:64px;padding:12px 16px;border:1px solid #e0e8f1;border-radius:12px;background:#fff;color:inherit;font:inherit;text-align:left;cursor:pointer}
.payroll-scheme-card:hover{border-color:#a6d9d3;background:#fbfefd}
.payroll-scheme-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.payroll-scheme-card:disabled{cursor:wait;opacity:.7}
.payroll-scheme-card>span{min-width:0}
.payroll-scheme-person strong{display:block;color:#17233a}
.payroll-scheme-person span{display:block;margin-top:5px;color:#78879c;font-size:13px}
.payroll-scheme-rules{display:flex;flex-wrap:wrap;gap:7px}
.payroll-scheme-rules span:not(:empty){padding:5px 8px;border-radius:8px;background:#eff8f7;color:#22796f;font-size:12px;font-weight:600}
.payroll-scheme-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;text-align:right}
.payroll-scheme-individual{color:#71819a;font-size:12px}
.payroll-scheme-chevron{color:#8391a5;font-size:22px;line-height:1}
.payroll-balances{display:grid;gap:var(--page-x)}
.payroll-balances article{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:18px;align-items:center;padding:17px 18px;border:1px solid #e2e8f0;border-radius:16px;background:#fff}
.payroll-balances article>div:first-child strong{display:block;color:#17233a}
.payroll-balances span{display:block;margin-top:3px;color:#53637a;font-size:14px}
.payroll-balances small{color:#8190a6;font-size:12px}
.payroll-balances .payroll-due{padding:10px 12px;border-radius:10px;background:#eff8f7}
.payroll-balances .payroll-due strong{display:block;margin-top:3px;color:#0b8f83;font-size:18px;white-space:nowrap}
.payroll-balances article>div:not(:first-child)>span{white-space:nowrap}
.payroll-ledger{margin-top:var(--page-x)}
.payroll-ledger>div{display:grid;gap:8px;margin-top:var(--page-x)}
.payroll-ledger b.is-plus{color:#15966f}
.payroll-ledger b.is-minus{color:#c44f4b}
.payroll-modal{width:min(860px,calc(100vw - 32px))}
.payroll-modal-group{margin-top:22px;padding-top:20px;border-top:1px solid #e7edf4}
.payroll-modal-group h3{margin:0 0 16px;color:#17233a;font-size:17px}
.payroll-field-hint{display:block;margin-top:8px;color:#718299;font-size:13px}
.payroll-overrides{margin-top:16px}
.payroll-overrides>div:first-child{margin-bottom:9px}
.payroll-overrides>div:first-child strong{display:block;color:#334155;font-size:14px}
.payroll-override-row{display:grid;grid-template-columns:1fr 120px 120px 36px;gap:8px;margin:8px 0}
.payroll-override-row .btn{padding:0;justify-content:center}
.payroll-modal .form-grid.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){
.payroll-filters{display:grid;grid-template-columns:1fr 1fr}
.payroll-filters .field{min-width:0}
.payroll-summary{grid-template-columns:1fr 1fr}
.payroll-scheme-card{grid-template-columns:minmax(0,1fr) auto;gap:10px 14px}
.payroll-scheme-person{grid-column:1/-1}
.payroll-scheme-footer{text-align:right}
.payroll-balances article{grid-template-columns:1fr 1fr}
.payroll-balances article>div:first-child{grid-column:1/-1}
.payroll-modal .form-grid.three{grid-template-columns:1fr}
.payroll-override-row{grid-template-columns:1fr 100px}
.payroll-override-row input{grid-column:1/2}
.payroll-override-row button{grid-column:2/3;grid-row:2}
}
@media(max-width:560px){.payroll-filters{grid-template-columns:1fr}
.payroll-details-row .payroll-line,.payroll-run-person .payroll-line{grid-template-columns:minmax(0,1fr) auto;gap:8px}
.payroll-line time{grid-column:1/-1}
.payroll-line span{min-width:0;overflow-wrap:anywhere}
.payroll-scheme-card{grid-template-columns:minmax(0,1fr) 20px;gap:10px;padding:12px}
.payroll-scheme-person{grid-column:1}
.payroll-scheme-rules{grid-column:1}
.payroll-scheme-footer{display:contents}
.payroll-scheme-individual{grid-column:1;grid-row:3;text-align:left}
.payroll-scheme-chevron{grid-column:2;grid-row:1/4;align-self:center}
.payroll-summary{grid-template-columns:1fr}
.payroll-section-head{flex-direction:column}
.payroll-section-head .btn{width:100%}
.payroll-balances article{grid-template-columns:1fr}
.payroll-balances article>div:first-child{grid-column:auto}
.payroll-details-row div{grid-template-columns:1fr}
.payroll-details-row strong{grid-column:auto}
.payroll-run-list article,.payroll-ledger article{flex-wrap:wrap}
}


.payroll-filters .field,.payroll-filter-inline .field{display:grid;gap:8px}

.payroll-filter-inline .field{max-width:100%}

@media(max-width:760px){.payroll-topbar{min-height:52px;height:52px;margin:0 calc(-1 * var(--page-x));padding:6px var(--page-x)}
.payroll-topbar .team-topbar-actions{min-width:0}
.payroll-topbar .team-topbar-actions>.btn{max-width:100%;white-space:normal}
}
