.payroll-toolbar label{display:flex;gap:6px;flex-direction:column;min-width:180px}.payroll-toolbar-actions{margin-left:auto}.payroll-run-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:18px 0}.payroll-run-heading>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.payroll-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.payroll-metrics .metric strong{font-size:23px}.payroll-table{min-width:920px}.payroll-table th:first-child,.payroll-table td:first-child{position:sticky;left:0;background:var(--soft);z-index:1;min-width:210px}.payroll-table td:first-child{background:var(--panel,#fff)}.payroll-table th:first-child{z-index:2}.payroll-table-wrap{max-width:100%;overflow:auto}.payroll-row-actions{white-space:nowrap}.payroll-row-actions button{padding:7px 9px;margin-left:4px;font-size:12px}.payroll-review{color:#ba8529}.payroll-fieldset{border:1px solid var(--line);border-radius:10px;margin:20px 0;padding:18px}.payroll-fieldset legend{font-size:16px;font-weight:650;padding:0 8px}.payroll-fieldset h3{margin-top:22px}.payroll-overtime-row{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;margin:12px 0}.payroll-overtime-row button{height:43px}.payroll-entry-totals{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;padding:20px 0;margin-top:10px;border-top:1px solid var(--line)}.payroll-entry-totals small{display:block;color:var(--muted);margin-bottom:8px}.payroll-entry-totals strong{font-size:18px}.payroll-detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px}.payroll-detail-columns p{display:flex;justify-content:space-between;gap:15px}.payroll-note{white-space:pre-wrap;overflow-wrap:anywhere}@media(prefers-color-scheme:dark){.payroll-table td:first-child{background:#1d2126}}@media(max-width:1100px){.payroll-metrics{grid-template-columns:repeat(3,1fr)}.payroll-entry-totals{grid-template-columns:repeat(3,1fr)}}@media(max-width:740px){.payroll-run-heading{align-items:flex-start;flex-direction:column}.payroll-metrics,.payroll-entry-totals,.payroll-detail-columns{grid-template-columns:1fr 1fr}.payroll-toolbar label{min-width:140px}.payroll-toolbar-actions{margin-left:0}.payroll-entry-totals strong{font-size:15px}.payroll-fieldset{padding:13px}.payroll-overtime-row{gap:8px}}
.payroll-table td:first-child{background:var(--panel,#1a1c20)}
.payroll-table th.amount,
.payroll-table td.amount{ text-align:center; }
#payrollForm label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:600;color:var(--muted);min-width:0}
#payrollForm input,#payrollForm select,#payrollForm textarea{width:100%;min-width:0;border:1px solid #363c45;border-radius:7px;background:#14171a;color:var(--ink);padding:10px 11px;font:inherit;font-size:12px;font-weight:400}
#payrollForm input:focus,#payrollForm select:focus,#payrollForm textarea:focus{outline:2px solid #8bbcff;outline-offset:2px}
#payrollForm textarea{min-height:86px;resize:vertical;line-height:1.6}
#payrollForm>.form-grid{margin-bottom:18px}
#payrollForm>.payroll-fieldset>label{max-width:300px;margin:16px 0}
.payroll-overtime-row label{margin:0}
.payroll-toolbar-actions>small{display:block;color:var(--muted);margin-bottom:7px}.payroll-export-buttons{display:flex;gap:8px;flex-wrap:wrap}
.payroll-pdf-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:15px}.payroll-pdf-actions a{display:inline-block;padding:10px 15px;border:1px solid #363c45;border-radius:8px;font-weight:600;background:#20252b;color:#8bbcff}.payroll-pdf-actions a:hover{background:#263d5c}.payroll-pdf-preview .pdf-preview-pages{padding:12px 0}.payroll-pdf-preview .pdf-preview-pages figcaption{color:var(--muted)}
.payroll-grid-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 10px;flex-wrap:wrap}
.payroll-table-wrap{position:relative}
.payroll-grid-save{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.payroll-grid-save>span{color:var(--muted);font-size:11px;max-width:380px;line-height:1.6}
.payroll-grid-save button{font-size:12px}
.payroll-grid-error{margin:8px 0 14px}
.payroll-columns{position:relative}
.payroll-columns>summary{cursor:pointer;border:1px solid #363c45;border-radius:8px;padding:10px 15px;font-size:12px;font-weight:600;list-style-position:inside}
.payroll-columns>summary:hover{background:#282c31}
.payroll-column-options{position:absolute;left:0;top:calc(100% + 7px);z-index:6;width:350px;max-width:calc(100vw - 50px);padding:17px;border:1px solid #363c45;border-radius:10px;background:#1e2125;box-shadow:0 12px 30px #0005;white-space:normal}
.payroll-column-options p{color:var(--muted);font-size:11px;margin:0 0 15px}
.payroll-column-options fieldset{border:0;border-top:1px solid var(--line);padding:13px 0 11px;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.payroll-column-options legend{font-size:11px;font-weight:600;color:var(--ink);padding:0 7px 0 0}
.payroll-column-options label{display:flex;align-items:center;gap:7px;font-size:12px}
.payroll-column-options input{margin:0;width:15px;height:15px;accent-color:var(--green)}
.payroll-column-options>small{display:block;color:var(--muted);font-size:10px;margin-top:12px}
.payroll-column-options>button{font-size:11px;padding:8px 10px}
.payroll-table th,.payroll-table td{padding:14px 11px}
.payroll-table th:first-child,.payroll-table td:first-child{min-width:230px;max-width:260px;white-space:normal;padding-left:20px;padding-right:18px}
.payroll-table th.amount,.payroll-table td.amount{min-width:100px}
.payroll-table .payroll-input-cell{min-width:113px}
.payroll-input-cell input,.payroll-sso-cell select{width:100%;min-width:91px;padding:9px 7px;border:1px solid #424a55;border-radius:7px;background:#14171a;color:var(--ink);font-size:12px;text-align:center}
.payroll-input-cell input{max-width:112px;font-variant-numeric:tabular-nums;appearance:textfield;-moz-appearance:textfield}
.payroll-input-cell input::-webkit-inner-spin-button,.payroll-input-cell input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.payroll-input-cell input:focus,.payroll-sso-cell select:focus{outline:2px solid #8bbcff;outline-offset:2px}
.payroll-sso-cell select{min-width:140px;max-width:160px}
.payroll-sso-cell>small{font-size:10px;white-space:nowrap}
.payroll-cell-dirty input,.payroll-cell-dirty select{border-color:#c39950;background:#2a251c}
.payroll-table .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:740px){.payroll-grid-save{width:100%}.payroll-grid-save>span{flex-basis:100%}.payroll-grid-save button{flex:1}.payroll-column-options{width:320px}}
.payroll-grid-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.payroll-grid-tools>button{font-size:12px;padding:10px 15px}
.payroll-payment-lock{color:var(--muted);font-size:10px!important;line-height:1.5;margin-top:5px}
#payrollForm .payroll-checkbox{display:flex;flex-direction:row;align-items:center;gap:9px;color:var(--ink);font-size:12px;margin-top:18px}
#payrollForm .payroll-checkbox input{width:16px;height:16px;margin:0;padding:0;accent-color:var(--green)}
#payrollBonusForm>p{line-height:1.6}
.payroll-bonus-inputs{min-width:620px;width:100%;margin:18px 0}
.payroll-bonus-inputs td:first-child{min-width:200px;max-width:250px;white-space:normal}
.payroll-bonus-inputs td small{display:block;color:var(--muted);font-size:11px;margin-top:5px}
.payroll-bonus-inputs th:not(:first-child),.payroll-bonus-inputs td:not(:first-child){text-align:center}
.payroll-bonus-inputs input{width:85px;padding:9px;border:1px solid #424a55;border-radius:7px;background:#14171a;color:var(--ink);font:inherit;text-align:center}
.payroll-bonus-inputs input:focus{outline:2px solid #8bbcff;outline-offset:2px}
.payroll-bonus-inputs input:disabled{opacity:.65}
.payroll-bonus-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0}
.payroll-bonus-totals small{display:block;color:var(--muted);font-size:11px;margin-bottom:8px}
.payroll-bonus-totals strong{font-size:16px}
.payroll-bonus-results{min-width:620px;width:100%}
.payroll-bonus-results th:not(:first-child),.payroll-bonus-results td:not(:first-child){text-align:center;white-space:nowrap}
#payrollBonusPreview{margin-bottom:20px}
@media(max-width:740px){.payroll-bonus-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-grid-tools{width:100%}#payrollBonusForm .form-actions{flex-wrap:wrap}}
.payroll-payment-history{border-top:1px solid var(--line);padding-top:18px;margin-top:22px}
.payroll-payment-history h3{margin:0 0 12px}
.payroll-payment-history table{width:100%}
.payroll-payment-history .amount{text-align:center}
#payrollForm .payroll-student-loan .payroll-checkbox{margin:0 0 16px}
.payroll-student-loan .form-grid{margin-bottom:16px}
.payroll-student-loan>p{font-size:11px;line-height:1.6;margin-bottom:0}
