.payroll-preset-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 18px 0;
}

.payroll-preset {
  border: 1px solid var(--line);
  background: #fff;
  color: #344054;
  border-radius: 10px;
  padding: 10px 8px;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.payroll-preset:hover,
.payroll-preset.active {
  border-color: #d9a441;
  background: var(--amber-soft);
  color: #7a4700;
}

.payroll-period-form {
  margin-bottom: 16px;
}

.payroll-preview-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0 16px;
}

.payroll-preview-summary article {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 12px;
  padding: 14px;
}

.payroll-preview-summary article span,
.payroll-preview-summary article strong {
  display: block;
}

.payroll-preview-summary article span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 750;
}

.payroll-preview-summary article strong {
  margin-top: 5px;
  color: var(--ink);
  font-size: 22px;
  letter-spacing: -.03em;
}

.payroll-preview-summary .payroll-gross {
  grid-column: span 4;
  background: var(--nav);
  border-color: var(--nav);
}

.payroll-preview-summary .payroll-gross span {
  color: #aeb7c4;
}

.payroll-preview-summary .payroll-gross strong {
  color: #fff;
  font-size: 30px;
}

.payroll-rate-note {
  margin-bottom: 14px;
}

.payroll-preview-table {
  max-height: 310px;
  overflow: auto;
}

.payroll-preview-table table {
  min-width: 760px;
}

.payroll-preview-loading {
  min-height: 180px;
}

@media (max-width: 760px) {
  .payroll-preset-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .payroll-preset:last-child {
    grid-column: span 2;
  }

  .payroll-preview-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .payroll-preview-summary .payroll-gross {
    grid-column: span 2;
  }
}
