/* Absence editor composition; controls and surfaces use canonical zg primitives. */
#absenceDialog {
  overflow: hidden;
}

#absenceDialogContent,
#absenceForm {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

#absenceDialogContent {
  flex: 1;
}

#absenceDialog .absence-editor-header {
  padding-inline-end: calc(var(--zg-card-padding) + var(--zg-button-height));
}

#absenceDialog .absence-editor-close {
  position: absolute;
  top: var(--zg-space-4);
  right: var(--zg-space-4);
  z-index: 1;
}

#absenceDialog .absence-editor-body {
  display: grid;
  min-height: 0;
  gap: var(--zg-space-6);
}

#absenceDialog .absence-editor-tabs {
  flex-shrink: 0;
}

#absenceDialog .absence-editor-panel {
  display: grid;
  gap: var(--zg-space-6);
  min-width: 0;
}

#absenceDialog .absence-editor-header p,
#absenceDialog .absence-editor-body h3,
#absenceDialog .absence-editor-body p {
  margin: 0;
}

#absenceDialog .absence-editor-header div {
  display: grid;
  gap: var(--zg-space-2);
}

#absenceDialog .absence-editor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--zg-form-field-gap);
}

#absenceDialog .absence-editor-weekdays {
  display: flex;
  flex-wrap: wrap;
  gap: var(--zg-space-3);
}

#absenceDialog .absence-editor-documents summary {
  cursor: pointer;
}

#absenceDialog [data-saved-documents] {
  margin-top: var(--zg-space-3);
  overflow-wrap: anywhere;
}

#absenceDialog [data-cancel-absence] {
  margin-inline-end: auto;
}

#absenceDialog .absence-impact-toolbar,
#absenceDialog .absence-editor-file-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--zg-space-2);
}

#absenceDialog .absence-impact-table {
  min-width: 0;
  overflow: auto;
}

#absenceDialog .absence-impact-table td:last-child {
  min-width: 7em;
}

#absenceDialog .absence-impact-explanation,
#absenceDialog .absence-editor-file-list small {
  display: block;
}

#absenceDialog .absence-editor-file-list {
  display: grid;
  gap: var(--zg-space-3);
  padding: 0;
  margin: 0;
  list-style: none;
}

#absenceDialog .absence-editor-file-list li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--zg-space-3);
}

#absenceDialog [hidden] {
  display: none;
}

@media (max-width: 650px) {
  #absenceDialog .absence-editor-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  #absenceDialog .absence-editor-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #absenceDialog [data-cancel-absence] {
    margin-inline-end: 0;
  }

  #absenceDialog .absence-editor-actions [type="submit"] {
    grid-column: 1 / -1;
  }
}
