/* Compact annual payroll board: keeps the familiar GS-TECH visual system while avoiding spreadsheet density. */
.payroll-board-summary{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 13px;margin:0 0 10px;background:#f6f7f8;border-left:3px solid var(--blue);font-size:.79rem;color:var(--muted)}
.payroll-board-summary b{color:var(--ink)}
.payroll-board-summary strong{color:var(--blue);font-size:.9rem}
.payroll-board-legend{display:flex;gap:14px;flex-wrap:wrap;margin:0 0 14px;font-size:.75rem;color:var(--muted)}
.payroll-board-legend span{display:inline-flex;align-items:center;gap:5px}
.payroll-board-legend i{width:9px;height:9px;display:inline-block;border-radius:50%;background:#d9dde2}
.payroll-board-legend i.paid{background:#27765d}.payroll-board-legend i.unpaid{background:#e34b4f}.payroll-board-legend i.upcoming{background:#0d62bd}.payroll-board-legend i.needs-calculation{background:#b87914}
.payroll-board-wrap{overflow:auto;margin-inline:-3px;border:1px solid var(--line)}
.payroll-board{min-width:1220px;border-collapse:separate;border-spacing:0;font-size:.76rem}
.payroll-board th{position:sticky;top:0;z-index:1;background:#25272b;color:#fff;border-bottom:0;text-align:center;padding:10px 7px;font-size:.66rem;letter-spacing:.04em}
.payroll-board th:first-child,.payroll-board td:first-child{position:sticky;left:0;z-index:1;text-align:left}
.payroll-board th:first-child{z-index:3;min-width:185px;background:#25272b}
.payroll-board th:nth-last-child(2){min-width:120px}.payroll-board th:last-child{min-width:210px}
.payroll-board td{padding:8px 6px;text-align:center;background:#fff;border-right:1px solid #eceeef;border-bottom:1px solid #e5e5e6;white-space:nowrap}
.payroll-board tbody tr:last-child td{border-bottom:0}.payroll-board tbody tr:hover td{background:#f7faff}.payroll-board tbody tr:hover td:first-child{background:#f7faff}
.payroll-board-name{min-width:185px!important;padding:10px 12px!important;background:#fff!important;text-align:left!important}.payroll-board-name b{font-size:.82rem}.payroll-board-name small{font-size:.67rem;white-space:normal}
.payroll-board-month{min-width:65px}.payroll-board-total{min-width:120px!important;text-align:right!important;padding-right:12px!important}.payroll-board-total b{font-size:.77rem;color:var(--ink)}.payroll-board-notes{min-width:210px!important;max-width:270px;text-align:left!important;white-space:normal!important;line-height:1.45;color:#4c5057;font-size:.72rem}
.payroll-board-cell{display:inline-flex;min-width:33px;min-height:25px;align-items:center;justify-content:center;padding:3px 5px;border-radius:2px;font-size:.65rem;font-weight:800;letter-spacing:-.01em}.payroll-board-cell.paid{background:#e7f4ee;color:#176747}.payroll-board-cell.unpaid{background:#fff0f0;color:#be363e}.payroll-board-cell.upcoming{background:#eef4ff;color:#0c55ac}.payroll-board-cell.partial{background:#e9f1fb;color:#215a99}.payroll-board-cell.needs-calculation{background:#fff3df;color:#885a0f}.payroll-board-cell.empty{color:#a8adb4;background:#f4f5f6}.board-note-empty{color:#a3a7ad}
@media(max-width:760px){.payroll-board-summary{align-items:flex-start;display:grid;gap:4px}.payroll-board-legend{gap:9px}.payroll-board{min-width:1110px}.payroll-board-name{min-width:165px!important}.payroll-board th:first-child{min-width:165px}}

.payroll-board-actions{display:inline-flex;flex-direction:column;gap:3px;align-items:center}
button.payroll-board-cell.payment-button{border:0;cursor:pointer;min-height:27px;background:#fff0f0;color:#be363e}
button.payroll-board-cell.payment-button:hover{background:#e34b4f;color:#fff}
button.payroll-board-cell.payment-button.paid{background:#e7f4ee;color:#176747}
button.payroll-board-cell.payment-button.paid:hover{background:#d5eddf;color:#105138}
button.payroll-board-cell.payment-button:focus-visible{outline:3px solid #8db9fb;outline-offset:2px}
button.payroll-board-cell.calculation-button{border:0;cursor:pointer;min-width:88px;min-height:38px;flex-direction:column;gap:2px;line-height:1.05}
button.payroll-board-cell.calculation-button b{font-size:.68rem}button.payroll-board-cell.calculation-button small{font-size:.55rem;font-weight:750}
button.payroll-board-cell.calculation-button:hover{background:#b87914;color:#fff}button.payroll-board-cell.calculation-button:focus-visible{outline:3px solid #8db9fb;outline-offset:2px}

.payroll-board.period-6{min-width:820px}.payroll-board.period-3{min-width:640px}
.payroll-board-period{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--ink)}
.payroll-board-period select{min-width:74px;padding:5px 25px 5px 8px;border:1px solid #cdd4dd;border-radius:3px;background:#fff;color:var(--ink);font:inherit;font-size:.76rem;cursor:pointer}
@media(max-width:760px){.payroll-board.period-6{min-width:820px}.payroll-board.period-3{min-width:640px}.payroll-board-period{grid-row:2}}

.payroll-board th small{display:block;margin-top:3px;font-size:.56rem;font-weight:500;letter-spacing:0;opacity:.72}.payroll-board-name small+small{margin-top:2px;color:var(--muted)}
