/* Reset basics */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* Container holds all domains side by side */
.container {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap; /* allows wrapping on smaller screens */
}

/* Each domain block */
.domain {
  display: flex;              /* description, input, table side by side */
  align-items: flex-start;
  gap: 1rem;
  flex: 1;                    /* equal space for each domain */
  min-width: 300px;           /* prevents shrinking too small */
  border: 1px solid #ccc;
  padding: 0.75rem;
  background: #f9f9f9;
  border-radius: 6px;
}

/* Description and table share equal width */
.description {
  flex: 2;
  font-weight: bold;
}

.input-container {
  flex: 1;                    /* narrower column */
  display: flex;
  flex-direction: column;
}

.table {
  flex: 2;
  border-collapse: collapse;
}

table th, table td {
  border: 1px solid #ddd;
  padding: 0.5rem;
}