/* Employee absence tab composition. Product primitives come from the shared system. */
.employee-absence-section,
.employee-absence-month,
.employee-absence-records {
  display: grid;
  gap: var(--zg-space-4);
  min-width: 0;
}

.employee-absence-section h3,
.employee-absence-section h4,
.employee-absence-section p {
  margin: 0;
}

.employee-absence-section .vacation-details {
  margin: 0;
}

.employee-absence-heading,
.employee-absence-history-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--zg-space-3);
}

.employee-absence-heading > div,
.employee-absence-history-heading > div {
  display: grid;
  gap: var(--zg-space-1);
}

.employee-absence-overview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--zg-space-3);
}

.employee-absence-overview article {
  display: grid;
  align-content: start;
  gap: var(--zg-space-2);
}

.employee-absence-deficit {
  color: var(--zg-state-danger);
}

.employee-absence-document-warning {
  color: var(--zg-state-warning);
}

.employee-absence-records {
  gap: var(--zg-space-2);
}

.employee-absence-section .employee-absence-record {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(7em, auto) auto auto;
  gap: var(--zg-space-3);
  padding-block: var(--zg-space-3);
  text-align: start;
  white-space: normal;
}

.employee-absence-record-main,
.employee-absence-record-amount {
  display: grid;
  min-width: 0;
  gap: var(--zg-space-1);
}

.employee-absence-record-amount {
  text-align: end;
}

.employee-absence-record-arrow {
  color: var(--zg-text-muted);
}

@media (max-width: 650px) {
  .employee-absence-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .employee-absence-overview article:first-child {
    grid-column: 1 / -1;
  }

  .employee-absence-section .employee-absence-record {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .employee-absence-record-main {
    grid-column: 1 / -1;
  }

  .employee-absence-record-amount {
    text-align: start;
  }

  .employee-absence-record-arrow {
    display: none;
  }
}
