.payroll-entry-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:14px 0}.payroll-entry-tools label{flex:1;min-width:150px}.payroll-entry-table{max-height:48vh;overflow:auto;margin-top:14px}.payroll-entry-table thead{position:sticky;top:0;background:var(--bg-card);z-index:1}.payroll-entry-table input[data-value]{min-width:100px;max-width:145px}.payroll-entry-table input[type=checkbox]{width:18px;height:18px;min-height:0}.payroll-rule-advanced{margin-top:16px;border-top:1px solid var(--border);padding-top:12px}.payroll-rule-advanced summary{cursor:pointer;font-weight:600;margin-bottom:12px}#rubricForm [hidden]{display:none!important}.modal:has(.payroll-entry){width:min(960px,95vw);max-width:960px}
.rubric-catalog-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:14px}.rubric-catalog-toolbar label:first-child{flex:1;min-width:200px}.rubric-account-group{border:1px solid var(--border);border-radius:8px;margin-top:12px;overflow:hidden}.rubric-account-group>summary{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;background:var(--bg-card-hover)}.rubric-account-group>summary:before{content:'▸'}.rubric-account-group[open]>summary:before{content:'▾'}.rubric-group-code{font-variant-numeric:tabular-nums;color:var(--primary);min-width:18px}.rubric-account-group>summary .text-muted{margin-left:auto}.rubric-account-code{font-variant-numeric:tabular-nums;white-space:nowrap;border-left:3px solid var(--border);padding-left:20px!important}.rubric-account-table th{font-size:11px}.rubric-account-table small{color:var(--text-muted)}.rubric-add-group{margin:8px 14px 12px}.rubric-account-table td:nth-child(2){min-width:190px}.rubric-account-table td:last-child{white-space:nowrap}.modal:has(.rubric-catalog){width:min(1050px,95vw);max-width:1050px}
.payroll-toolbar-card{padding:16px!important}.payroll-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.payroll-period-group,.payroll-toolbar-actions{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.payroll-period{display:flex;flex-direction:column;gap:6px;margin:0;font-size:11px;color:var(--text-sec)}.payroll-period input{box-sizing:border-box;min-height:36px;min-width:185px;max-width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg-input,var(--bg-card));color:var(--text-main);font:inherit;font-size:13px}.payroll-toolbar .btn{min-height:36px;white-space:nowrap}.payroll-toolbar-more{position:relative}.payroll-toolbar-more>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px}.payroll-toolbar-more>summary::-webkit-details-marker{display:none}.payroll-toolbar-more>summary:after{content:'▾';font-size:11px}.payroll-toolbar-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:200px;padding:6px;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);box-shadow:var(--shadow-md)}.payroll-toolbar-menu .btn{display:block;text-align:left;width:100%;border:0;background:transparent}.payroll-toolbar-menu .btn:hover{background:var(--bg-card-hover)}.payroll-criteria{margin-top:12px;font-size:12px;color:var(--text-sec)}.payroll-criteria summary{cursor:pointer;width:fit-content}.payroll-criteria p{line-height:1.5;margin:8px 0 0}.payroll-toolbar :focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media(max-width:700px){.payroll-toolbar{gap:12px}.payroll-period-group,.payroll-toolbar-actions{width:100%}.payroll-period{flex:1;min-width:0}.payroll-period input{min-width:0;width:100%}.payroll-toolbar-actions .btn-primary{flex:1}.payroll-toolbar-more{margin-left:auto}}
.payroll-demo-notice{padding:12px 14px;border:1px solid var(--primary);border-radius:8px;margin-bottom:16px}.payroll-demo-notice p{font-size:12px;color:var(--text-sec);margin:6px 0 0}.modal:has(.payroll-demo){width:min(1050px,95vw);max-width:1050px}.payroll-demo table td:not(:first-child),.payroll-demo table th:not(:first-child){white-space:nowrap}.payroll-demo>p{margin-top:14px}

.payroll-tabs{flex-wrap:wrap;overflow:visible}.payroll-tabs .payroll-demo-button{margin-left:auto;color:var(--primary);font-weight:600;border:1px solid var(--border);border-radius:6px;padding:8px 12px;align-self:center;margin-bottom:5px}.payroll-tabs .payroll-demo-button:hover{background:var(--bg-card-hover)}@media(max-width:480px){.payroll-tabs .payroll-demo-button{margin-left:0}}


.payroll-rubric-table th,.payroll-rubric-table td{white-space:nowrap}.payroll-rubric-table td:first-child{min-width:220px;white-space:normal}.payroll-rubric-table [data-payroll-updated]>td:first-child{border-left:3px solid var(--primary)}
