.payroll-settings { color: var(--c-text); max-width: 1120px; }
.payroll-settings-heading { margin-bottom: 18px; }
.payroll-settings-heading h2 { margin: 0; font-size: 18px; }
.payroll-settings-heading p { margin: 6px 0 0; }
.payroll-settings .ui-card { padding: 18px; margin-bottom: 16px; }
.payroll-settings-selectors { display: flex; align-items: end; gap: 12px; flex-wrap: wrap; }
.payroll-settings-selectors .form-field { margin: 0; min-width: 170px; }
.payroll-settings-selectors .form-field:first-child { flex: 1; min-width: 230px; }
.payroll-settings-budgets { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.payroll-settings-budgets .form-field { margin: 0; }
.payroll-settings-budget-group { min-width: 0; }
.payroll-settings-seasonality { display: flex; align-items: flex-start; gap: 9px; margin-top: 12px; font-size: 12px; line-height: 1.5; color: var(--c-text-2); cursor: pointer; }
.payroll-settings-seasonality input[type=checkbox] { flex: 0 0 18px; width: 18px; height: 18px; margin: 0; accent-color: var(--c-accent); }
.payroll-settings-seasonality span { min-width: 0; overflow-wrap: anywhere; }
.payroll-settings-presence-status, .payroll-settings-presence-note { margin: 10px 0 0; font-size: 12px; line-height: 1.6; }
.payroll-settings-presence-note { grid-column: 1 / -1; margin: 0; }
.payroll-settings-block h3, .payroll-settings-history h3 { margin: 0 0 8px; font-size: 15px; }
.payroll-settings-block > .dds-muted { margin: 0 0 16px; line-height: 1.6; }
.payroll-settings-block > .form-field { max-width: 250px; margin-bottom: 16px; }
.payroll-settings-table-wrap { overflow-x: auto; margin-bottom: 12px; border: 1px solid var(--c-border); border-radius: 8px; }
.payroll-settings-table { border-collapse: collapse; width: 100%; min-width: 0; font-size: 13px; }
.payroll-settings-table th, .payroll-settings-table td { padding: 10px; text-align: left; border-bottom: 1px solid var(--c-border-soft); vertical-align: middle; }
.payroll-settings-table th { font-size: 12px; font-weight: 500; background: var(--c-surface-2); color: var(--c-text-2); }
.payroll-settings-table tr:last-child td { border-bottom: 0; }
.payroll-settings-table td:first-child { width: 45%; min-width: 190px; }
.payroll-settings-table td:not(:first-child) input:not([type=checkbox]) { min-width: 70px; }
.payroll-settings-table input:not([type=checkbox]) { width: 100%; box-sizing: border-box; }
.payroll-settings-table select { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
.payroll-settings-table .dds-field-note { margin: 6px 0 0; font-size: 12px; overflow-wrap: anywhere; }
.payroll-settings-table input[type=checkbox] { width: 18px; height: 18px; accent-color: var(--c-accent); }
.payroll-settings .ui-action-button { min-height: 36px; padding: 7px 11px; font-size: 12px; }
.payroll-settings-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.payroll-settings-weight { font-size: 12px; margin: 8px 0 12px; color: var(--c-text-2); }
.payroll-settings-weight[data-valid=false] { color: var(--c-warn-text); }
.payroll-settings-checklist-mode { border-top: 1px solid var(--c-border-soft); margin-top: 18px; padding-top: 16px; }
.payroll-settings-checklist-mode h4 { margin: 0 0 8px; font-size: 14px; }
.payroll-settings-checklist-mode > p { margin: 8px 0 12px; font-size: 12px; line-height: 1.6; }
.payroll-settings-checklist-mode > .form-field { max-width: 250px; margin-top: 14px; }
.payroll-settings-scale { display: grid; gap: 8px; margin: 12px 0; }
.payroll-settings-scale-row { display: grid; grid-template-columns: minmax(130px, 1fr) minmax(175px, 1fr) auto; gap: 10px; align-items: end; padding: 10px; border: 1px solid var(--c-border-soft); border-radius: 9px; }
.payroll-settings-scale-row .form-field { margin: 0; min-width: 0; font-size: 12px; }
.payroll-settings-scale-row input { width: 100%; min-width: 0; box-sizing: border-box; font-variant-numeric: tabular-nums; }
.payroll-settings-empty { padding: 16px 0; }
.payroll-settings-footer .form-field { margin-bottom: 14px; }
.payroll-settings-footer textarea { width: 100%; min-height: 65px; box-sizing: border-box; resize: vertical; }
.payroll-settings-history-entry { border-top: 1px solid var(--c-border-soft); padding: 12px 0; font-size: 13px; overflow-wrap: anywhere; }
.payroll-settings-history-entry summary { cursor: pointer; font-weight: 500; }
.payroll-settings-history-entry h4 { font-size: 12px; margin: 14px 0 5px; }
.payroll-settings-history-entry p, .payroll-settings-history-entry ul { line-height: 1.6; margin: 6px 0; }
.payroll-settings-history-entry ul { padding-left: 22px; }
@media (max-width: 760px) {
  .dds-team-tabs { flex-wrap: wrap; box-sizing: border-box; }
  .payroll-settings .ui-card { padding: 14px; }
  .payroll-settings-budgets { grid-template-columns: 1fr; gap: 14px; }
  .payroll-settings-selectors .form-field, .payroll-settings-selectors .form-field:first-child { width: 100%; min-width: 0; }
  .payroll-settings-table { display: block; width: 100%; max-width: 100%; min-width: 0; }
  .payroll-settings-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .payroll-settings-table tbody, .payroll-settings-table tr { display: block; width: 100%; min-width: 0; box-sizing: border-box; }
  .payroll-settings-table tr { padding: 10px; border-bottom: 1px solid var(--c-border-soft); }
  .payroll-settings-table tr:last-child { border-bottom: 0; }
  .payroll-settings-table td, .payroll-settings-table td:first-child { display: block; width: auto; min-width: 0; border: 0; padding: 5px 0; }
  .payroll-settings-table td[data-label]:not([data-label=""])::before { content: attr(data-label); display: block; color: var(--c-text-2); font-size: 11px; margin-bottom: 5px; }
  .payroll-settings-table td:last-child { padding-top: 10px; }
  .payroll-settings-actions > button { flex: 1 1 auto; }
  .payroll-settings-scale-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .payroll-settings-scale-row .form-field span { min-height: 34px; }
  .payroll-settings-scale-row > button { grid-column: 1 / -1; justify-self: end; }
}
