.horizontal-layout {
  display: flex;
  flex-direction: row;
}

.vertical-layout {
  display: flex;
  flex-direction: column;
}

.horizontal-layout-item,
.vertical-layout-item {
  flex: 1;
}

.error {
  color: red;
}

.control {
  display: flex;
  flex-direction: column;
}

.control > .wrapper {
  display: flex;
}

.control > .wrapper > input,
.control > .wrapper > select,
.control > .wrapper > textarea {
  flex: 1;
}

.control > .error,
.control > .description {
  min-height: 1.5em;
}

.array-list {
  display: flex;
  flex-direction: column;
}

.array-list-item-toolbar {
  cursor: pointer;
  display: flex;
  justify-content: flex-end;
  align-items: stretch;
  margin: 0.2em 0;
}

.array-list-item-toolbar > button {
  user-select: none;
  cursor: pointer;
}
.array-list-item-toolbar > button:disabled {
  cursor: initial;
}

.array-list-item-label {
  background-color: rgb(238, 238, 238);
  flex: 1;
  padding-left: 0.5em;
  height: 1.5em;
  line-height: 1.5em;
}
.array-list-item-label:hover {
  background-color: rgb(221, 221, 221);
}

.array-list-item-content {
  display: none;
  padding: 0 1em;
}

.array-list-item-content.expanded {
  display: block;
}

.categorization .categorization-category,
.categorization .categorization-stepper {
  display: flex;
}
.categorization .categorization-stepper-line {
  flex-grow: 1;
  height: 1px;
  border-width: 0 0 1px 0;
}
.categorization .categorization-stepper-footer {
  display: flex;
  justify-content: flex-end;
}


.container[data-v-7aab29d0] {
  display: grid;
  grid-template-columns: 0 30% auto 0;
  grid-column-gap: 2rem;
  grid-row-gap: 1rem;
  grid-template-areas:
    'header header header header'
    '. tools tools .'
    '. aside main .';
}
.container > header[data-v-7aab29d0] {
  grid-area: header;

  background-color: #00021e;
  padding: 2rem;
  color: white;
  text-align: center;
}
.container > aside[data-v-7aab29d0] {
  grid-area: aside;
}
.container > main[data-v-7aab29d0] {
  grid-area: main;
}
.container > .tools[data-v-7aab29d0] {
  grid-area: tools;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
aside .data[data-v-7aab29d0] {
  background-color: white;
  padding: 2rem;
}
aside summary[data-v-7aab29d0],
aside h5[data-v-7aab29d0] {
  font-size: 0.83em;
  font-weight: bold;
  margin: 0 0 1em;
}
aside summary[data-v-7aab29d0] {
  cursor: default;
}
aside details pre[data-v-7aab29d0] {
  background: #eee;
  border: 0;
  min-height: 300px;
  max-height: 500px;
  overflow: scroll;
}
main article[data-v-7aab29d0] {
  background-color: white;
  padding: 1rem;
}


body {
  margin: 0;
  padding: 0;
  font-family: sans-serif;
  background: #f3f4fa;
}
