.rate-editor { min-width: 0; }
#policy-sales-tiers.rate-editor, #policy-regular-tiers.rate-editor { display: block; }
.payroll-policy-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
.payroll-policy-section:has(#policy-monthly-heading) { grid-column: 1 / span 5; grid-row: 1; border-right: 1px solid var(--line); }
.payroll-policy-section:has(#policy-fixed-heading) { grid-column: 6 / span 7; grid-row: 1; }
.payroll-policy-section:has(#policy-sales-heading) { grid-column: 1 / span 7; grid-row: 2; border-right: 1px solid var(--line); }
.payroll-policy-section:has(#policy-regular-heading) { grid-column: 8 / span 5; grid-row: 2; }
#policy-monthly-items { max-width: 680px; }
.rate-editor-top { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 8px; }
.rate-editor select { width: 146px; max-width: 100%; }
.rate-editor-value { display: inline-flex !important; align-items: center; gap: 5px; }
.rate-editor input { width: 104px !important; max-width: 100%; min-width: 0; }
.rate-editor-tiers { display: grid; gap: 6px; }
.rate-editor-row { display: grid; grid-template-columns: 104px 104px 32px; gap: 8px; align-items: center; }
.rate-editor-tier-field { display: grid; min-width: 0; gap: 4px; }
.rate-editor-tier-caption { display: none; }
.rate-editor-labels { color: var(--muted); font-size: 12px; }
.payroll-policy-section .rate-editor-tiers { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 6px 12px; }
.payroll-policy-section .rate-editor-labels { display: none; }
.payroll-policy-section .rate-editor-tier-caption { display: block; color: var(--muted); font-size: 11px; }
.payroll-policy-section .rate-editor-row:not(.rate-editor-labels) { align-items: end; padding: 4px 0 8px; border-bottom: 1px solid var(--line); }
.rate-editor .text-button { padding: 6px 0; }
.rate-editor-tiers + .text-button { margin-top: 4px; }
.payroll-policy-fixed .rate-editor { margin-top: 8px; }
.payroll-policy-fixed h4, .policy-special-fixed h4 { margin: 0 0 8px; font-size: 13px; }
.payroll-policy-fixed { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 14px; }
.payroll-policy-fixed > div { min-width: 0; }
.policy-special-values .rate-editor-top { margin-top: 10px; }
#order-commission-dialog { width: min(680px, calc(100vw - 32px)); scroll-padding-block: 64px 72px; }
#order-commission-form > .dialog-actions { position: sticky; bottom: 0; z-index: 1; background: var(--surface); }
.order-commission-dialog .commission-rule-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.commission-rule-section { min-width: 0; padding: 10px 0; border-bottom: 1px solid var(--line); }
.commission-rule-section h3 { font-size: 14px; margin: 0 0 10px; }
.commission-lesson-period { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.commission-lesson-period[hidden] { display: none; }
.commission-lesson-period label { display: grid; gap: 4px; color: var(--muted); font-size: 12px; }
.commission-lesson-period input { width: 142px; max-width: 100%; font: inherit; color: var(--ink); }
.order-commission-dialog .commission-reason { margin-top: 12px; }
.payroll-applied-rates { display: grid; gap: 8px; margin: 12px 0; }
.payroll-applied-rate { padding: 8px 10px; background: var(--action-softer); border-radius: 6px; }
.payroll-applied-rate small { display: block; margin-top: 3px; color: var(--muted); }
@media (max-width: 980px) {
  .payroll-policy-grid { grid-template-columns: minmax(0, 1fr); }
  .payroll-policy-section:has(#policy-sales-heading), .payroll-policy-section:has(#policy-regular-heading),
  .payroll-policy-section:has(#policy-monthly-heading), .payroll-policy-section:has(#policy-fixed-heading) { grid-column: 1; grid-row: auto; border-right: 0; }
}
@media (max-width: 640px) {
  .order-commission-dialog .commission-rule-grid { grid-template-columns: 1fr; }
  .payroll-policy-fixed { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rate-editor-row { grid-template-columns: minmax(0, 104px) minmax(0, 104px) 28px; gap: 6px; }
}
@media (max-width: 520px) {
  .payroll-policy-section .rate-editor-tiers, .payroll-policy-fixed { grid-template-columns: minmax(0, 1fr); }
}
