.payroll-topbar,.payroll-sheet-heading,.payroll-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.payroll-topbar{margin-bottom:20px}.payroll-picker{flex:1;max-width:420px;min-width:200px}.payroll-picker select{width:100%}
.payroll-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.payroll-actions .button{white-space:nowrap}
.payroll-empty{padding:72px 24px;text-align:center;border:1px dashed var(--light-gray);border-radius:var(--radius);background:var(--surface)}.payroll-empty h2{font-size:24px;margin:12px 0}.payroll-empty p{color:var(--muted)}
.payroll-editor{min-width:0;padding:var(--space-5);border:1px solid var(--light-gray);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}
.payroll-sheet-heading{margin-bottom:20px}.payroll-sheet-heading h2{margin:3px 0;font-size:22px}.payroll-sheet-heading p{margin:0;color:var(--muted);font-size:12px}
.payroll-formula{display:flex;gap:var(--space-3);background:var(--canvas);padding:var(--space-4);border:1px solid var(--light-gray);border-radius:var(--radius-inset);margin-bottom:var(--space-3)}.payroll-formula>div:first-child{width:120px;flex-shrink:0}.payroll-value{flex:1;min-width:0}.payroll-formula input{width:100%;font-family:inherit}.payroll-value label span{font-weight:400;color:var(--muted);font-size:11px;margin-left:8px}
.payroll-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.payroll-tools>.button{min-height:34px;padding:5px 10px;font-size:12px}.payroll-tools>label{white-space:nowrap;display:flex;align-items:center;gap:5px;font-size:12px;margin:0}.payroll-tools select{min-height:34px;padding:3px 8px;font-size:12px}.payroll-tools input[type=color]{width:34px;height:34px;min-height:34px;padding:3px;cursor:pointer}
.payroll-tools>details>summary{min-height:34px;padding:5px 10px;font-size:12px;gap:8px}
.payroll-tools details{position:relative}.payroll-settings{position:absolute;z-index:5;top:100%;right:0;width:280px;max-width:calc(100vw - 48px);border:1px solid var(--light-gray);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-raised);padding:var(--space-4);display:grid;gap:10px}.payroll-settings input{width:100%}
.payroll-grid-wrap{max-width:100%;max-height:62vh;overflow:auto;border:1px solid var(--light-gray);border-radius:8px;overscroll-behavior:contain;scrollbar-gutter:stable}
.payroll-grid{border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:13px;width:max-content;min-width:100%}.payroll-grid th,.payroll-grid td{padding:7px 10px;min-width:60px;border-right:1px solid var(--light-gray);border-bottom:1px solid var(--light-gray);height:36px;max-width:600px;overflow:hidden;text-overflow:ellipsis;white-space:pre-wrap;word-break:break-word}
.payroll-grid thead th{position:sticky;top:0;z-index:2;background:var(--canvas);font-size:11px;font-weight:600;color:var(--muted);text-align:center}.payroll-grid tbody th{position:sticky;left:0;z-index:1;background:var(--canvas);text-align:center;font-size:11px;font-weight:500;color:var(--muted);width:48px;min-width:48px}.payroll-grid td{cursor:cell;background:var(--surface);color:var(--dark);transition:box-shadow var(--motion-fast)}.payroll-grid td:focus{outline:none}.payroll-grid td[aria-selected=true]{box-shadow:inset 0 0 0 2px var(--action);position:relative}.payroll-grid td[data-dirty=true]{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px}.payroll-grid td[data-error=true]{color:var(--danger);background:var(--danger-bg)}
.payroll-bottom{padding:12px 0 0;color:var(--muted);font-size:12px}.payroll-bottom .button{min-height:34px;font-size:12px}
.payroll-dialog{width:min(520px,calc(100% - 24px));padding:var(--space-5);border-radius:var(--radius-dialog)}.payroll-dialog label{margin-top:10px}.payroll-dialog input,.payroll-dialog select{width:100%}.payroll-dimensions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.payroll-dialog-footer{justify-content:flex-end;margin-top:16px}
@media(max-width:700px){.payroll-editor{padding:12px}.payroll-picker{max-width:none;width:100%}.payroll-topbar>.payroll-actions{width:100%}.payroll-sheet-heading>.payroll-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.payroll-formula{gap:8px;padding:8px}.payroll-formula>div:first-child{width:90px}.payroll-value label span{display:none}.payroll-tools{position:relative}.payroll-tools details{position:static}.payroll-settings{right:auto;left:0}.payroll-grid-wrap{max-height:55vh}.payroll-empty{padding:40px 16px}.payroll-empty h2{font-size:20px}}
@media(max-width:380px){.payroll-formula{flex-direction:column}.payroll-formula>div:first-child{width:100%}.payroll-picker{min-width:0}}
@media(prefers-reduced-motion:reduce){.payroll-grid td{transition:none}}
