.report-header-actions,
.report-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.report-toolbar {
  align-items: flex-end;
}

.report-filter {
  min-width: 135px;
}

.report-filter input,
.report-filter select {
  max-width: 100%;
}

.report-code,
.report-heading h2,
.report-area-section,
.report-area-section td {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.report-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}

.report-heading h2 {
  margin-bottom: 5px;
}

.report-provisional,
.report-review-note,
.report-creation .field-hint,
.report-preview .demo-disclaimer {
  color: var(--ink-soft);
  font-size: 10px;
}

.report-warning {
  margin: 12px 0;
  padding: 12px 14px;
  border: 1px solid #ead5ad;
  border-radius: 6px;
  background: #fbf5e9;
  color: #765727;
  font-size: 10px;
}

.report-warning strong {
  display: block;
  margin-bottom: 4px;
}

.report-warning p,
.report-warning ul {
  margin: 4px 0 0;
}

.report-warning-error {
  border-color: #eed3ce;
  background: #fbefed;
  color: #923e34;
}

.report-local-warning {
  border-color: #d9e3dc;
  background: #f1f5f1;
  color: #4d6559;
}

.report-area-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 12px 0;
}

.report-area-chip {
  max-width: 100%;
  padding: 4px 8px;
  border-radius: 20px;
  background: var(--teal-soft);
  color: var(--teal);
  font-size: 9px;
  overflow-wrap: anywhere;
}

.report-area-section {
  margin: 12px 0;
  min-width: 0;
}

.report-area-section .section-title-row {
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 0;
}

.report-subheading {
  margin: 20px 0 9px;
  font: 700 11px var(--font-display);
}

.report-area-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  margin: 12px 0;
}

.report-area-kpis > div {
  min-width: 0;
  padding: 10px;
  border-radius: 5px;
  background: var(--surface-2);
}

.report-area-kpis dt {
  color: var(--muted);
  font-size: 9px;
}

.report-area-kpis dd {
  margin: 3px 0 0;
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
}

.report-area-section .table-wrap {
  max-width: 100%;
}

.report-empty-services {
  padding: 20px 12px;
  border: 1px dashed var(--line);
}

.report-notice {
  margin: 0 0 14px;
  font-size: 10px;
}

.report-creation .form-actions,
.report-preview .form-actions {
  flex-wrap: wrap;
}

.report-creation .field-hint {
  margin: 12px 0 0;
}

@media (max-width: 760px) {
  .report-toolbar,
  .report-toolbar .toolbar-left,
  .report-toolbar .toolbar-right {
    width: 100%;
  }

  .report-toolbar .toolbar-left,
  .report-toolbar .toolbar-right {
    flex-wrap: wrap;
  }

  .report-toolbar .search-wrap {
    min-width: 100%;
  }

  .report-filter {
    flex: 1 1 130px;
    min-width: 0;
  }

  .report-filter .select-input,
  .report-filter input {
    width: 100%;
  }

  .report-area-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .report-header-actions,
  .report-actions {
    justify-content: flex-start;
  }
}
