.payroll-reports{min-width:0;max-width:100%;font-size:14px;line-height:1.6;overflow-wrap:anywhere;color:var(--text)}
.payroll-reports h3{font-size:18px;line-height:1.45;margin:0 0 15px}.payroll-reports .button{font-size:14px;max-width:100%;white-space:normal}
.payroll-report-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;padding:18px}.payroll-report-toolbar label{margin:0;min-width:0;font-size:14px}.payroll-report-toolbar select{min-width:0;font-size:16px}
.payroll-report-scope{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:20px 0;flex-wrap:wrap}.payroll-report-scope p{margin:0;min-width:0;flex:1 1 280px}.payroll-report-scope .button{flex-shrink:0}
.payroll-report-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.payroll-report-kpi{min-width:0;padding:18px;background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--red);border-radius:6px}
.payroll-report-kpi span,.payroll-report-kpi small{display:block;color:var(--muted);font-size:14px}.payroll-report-kpi strong{display:block;font-size:clamp(20px,2vw,28px);line-height:1.35;margin:12px 0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.payroll-report-kpi small{font-size:12px;line-height:1.65}
.payroll-report-note{font-size:14px;line-height:1.7;color:var(--muted);margin:12px 0 18px}.payroll-report-section{min-width:0;max-width:100%;padding:20px}.payroll-report-empty{padding:24px;font-size:16px;line-height:1.65}.payroll-report-empty .form-error{font-size:14px}
.payroll-report-scroll,.payroll-report-chart-scroll{width:100%;min-width:0;max-width:100%;overflow:auto;overscroll-behavior:contain}
.payroll-report-scroll table{font-size:14px;min-width:940px}.payroll-report-scroll th{white-space:normal;overflow-wrap:anywhere;line-height:1.5;font-size:13px;min-width:100px;text-transform:none;letter-spacing:normal}.payroll-report-scroll td{vertical-align:top}
.payroll-report-scroll .payroll-report-name{min-width:220px;max-width:300px;width:260px;white-space:normal;overflow-wrap:anywhere;text-align:left}.payroll-report-name strong,.payroll-report-name small{display:block;white-space:normal;overflow-wrap:anywhere}.payroll-report-name strong{font-size:14px}.payroll-report-name small{font-size:12px;color:var(--muted);font-weight:400;margin-top:5px}
.payroll-report-scroll .payroll-report-money{white-space:nowrap;overflow:visible;text-align:right;font-variant-numeric:tabular-nums}.payroll-report-status{min-width:150px;max-width:240px;font-size:13px;color:var(--muted);white-space:normal}
.payroll-report-chart{display:block;width:100%;min-width:768px;max-height:280px;overflow:visible}.payroll-report-axis{stroke:var(--line-strong);stroke-width:1}.payroll-report-bar-fact{fill:var(--red)}.payroll-report-bar-budget{fill:#84939f}.payroll-report-bar-partial{opacity:.48}.payroll-report-chart-label,.payroll-report-chart-missing{fill:var(--muted);font-size:14px;font-family:inherit}
.payroll-report-chart-legend{display:flex;gap:10px 22px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin:8px 0 18px}.payroll-report-chart-legend span{display:flex;align-items:center;gap:7px;min-width:0}.payroll-report-chart-legend i{display:inline-block;width:11px;height:11px;flex:0 0 11px;border-radius:2px}.payroll-report-fact-key{background:var(--red)}.payroll-report-budget-key{background:#84939f}
.payroll-report-search{font-size:14px;width:min(480px,100%);min-width:0;margin:16px 0}.payroll-report-search input{min-width:0;font-size:16px}
.payroll-report-pagination{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:15px;margin-top:12px;color:var(--muted);font-size:13px}.payroll-report-pagination>div{display:flex;flex-wrap:wrap;gap:8px;min-width:0;max-width:100%}
.payroll-report-quality summary{font-size:16px;line-height:1.6;overflow-wrap:anywhere}.payroll-report-quality-counts{display:flex;gap:8px 22px;flex-wrap:wrap;margin-top:16px}.payroll-report-quality ul{margin-bottom:0;padding-left:20px;color:var(--muted)}.payroll-report-quality li{margin:8px 0;overflow-wrap:anywhere}
.payroll-report-budget-form{font-size:14px;line-height:1.7;min-width:0;max-width:100%;overflow-wrap:anywhere}.payroll-report-budget-form label{font-size:14px;min-width:0}.payroll-report-budget-form input,.payroll-report-budget-form textarea{min-width:0;max-width:100%;font-size:16px}.payroll-report-budget-form textarea{resize:vertical}.payroll-report-budget-form .check{align-items:flex-start;white-space:normal}.payroll-report-budget-form input[type=checkbox]{flex:0 0 17px;margin-top:4px}
.dialog:has(.payroll-report-budget-form){max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:auto}.dialog:has(.payroll-report-budget-form) .dialog-heading h2{min-width:0;overflow-wrap:anywhere}.dialog:has(.payroll-report-budget-form) .close-button{flex:0 0 31px}.dialog:has(.payroll-report-budget-form) #dialog-body,.dialog:has(.payroll-report-budget-form) #editor{min-width:0;max-width:100%}.dialog:has(.payroll-report-budget-form) .form-actions{flex-wrap:wrap}.dialog:has(.payroll-report-budget-form) .form-actions .button{max-width:100%;white-space:normal;overflow-wrap:anywhere;font-size:14px}
@media(max-width:1150px){.payroll-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.payroll-report-toolbar{grid-template-columns:minmax(0,1fr);gap:14px;padding:14px}.payroll-report-section{padding:14px}.payroll-report-kpi{padding:14px}.payroll-report-scroll table{min-width:850px}.payroll-report-kpi strong{font-size:22px}}
@media(max-width:420px){.payroll-report-kpis{grid-template-columns:minmax(0,1fr)}.payroll-report-pagination{align-items:flex-start;flex-direction:column}.payroll-report-pagination>div{width:100%}.payroll-report-pagination .button{flex:1}.dialog:has(.payroll-report-budget-form) #dialog-body,.dialog:has(.payroll-report-budget-form) .dialog-heading{padding:14px}}
