.terminal-workshop[data-terminal-workshop="modelagem"] {
  --orange: #255969;
  --orange-hover: #173e4b;
  --orange-pale: #dff3ee;
  --terminal: #16353b;
  --terminal-chrome: #234b52;
  --terminal-line: #507e82;
  --terminal-tint: #dcf7ef;
  --terminal-highlight: #baf2dd;
  --terminal-badge: #aeead9;
  --terminal-result: #e1f5eb;
  --module-glow: #d6ebe4;
  --module-dots: #83a699;
  --module-panel: #eaf5ef;
  --module-panel-border: #a6c8bf;
}

.model-editor-section + .model-editor-section {
  margin-top: .9rem;
}

.model-editor-section-head,
.model-editor-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .55rem;
}

.model-editor-list {
  display: grid;
  gap: .65rem;
  margin-block: .5rem;
}

.model-editor-card {
  min-inline-size: 0;
  margin: 0;
  padding: .65rem;
  border: 1px solid var(--module-panel-border);
  border-radius: .55rem;
  background: var(--module-panel);
}

.model-editor-card legend {
  padding-inline: .3rem;
  color: var(--terminal);
  font-size: .86rem;
  font-weight: 750;
}

.model-editor-fields {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr));
  align-items: end;
  gap: .45rem .6rem;
  margin-block: .38rem;
}

.model-editor-field {
  display: grid;
  min-width: 0;
  gap: .2rem;
  font-size: .82rem;
  font-weight: 650;
}

.model-editor :is(input:not([type="checkbox"]), select) {
  min-width: 0;
  width: 100%;
  min-height: 2.4rem;
  padding: .35rem .5rem;
  border: 1px solid var(--terminal-line);
  border-radius: .32rem;
  color: var(--ink-deep);
  background: var(--paper);
  font: 550 .84rem/1.4 var(--mono);
}

.model-editor-checks,
.model-editor-options {
  display: flex;
  flex-wrap: wrap;
  gap: .3rem .65rem;
}

.model-editor :is(.model-editor-check, .model-editor-option) {
  display: inline-flex;
  align-items: center;
  gap: .27rem;
  min-height: 1.75rem;
  font-size: .81rem;
}

.model-editor input[type="checkbox"] {
  accent-color: var(--orange);
}

.model-editor .model-editor-action {
  padding: .35rem .55rem;
  min-height: 2.1rem;
  font-size: .79rem;
}

.model-editor-hint,
.model-editor-empty,
.model-editor-status {
  margin-block: .3rem;
  color: var(--muted);
  font-size: .83rem;
}

.model-graph-viewport,
#model-results {
  max-height: 22rem;
  overflow: auto;
  border: 1px solid var(--module-panel-border);
  border-radius: .5rem;
}

.model-graph-viewport {
  background: var(--module-panel);
}

.model-graph-viewport svg {
  display: block;
  width: 100%;
  height: auto;
  min-width: 460px;
}

.model-graph-card {
  fill: var(--paper);
  stroke: var(--terminal-line);
  stroke-width: 1.3;
}

.model-graph-line {
  fill: none;
  stroke: var(--orange);
  stroke-width: 1.7;
}

.model-graph-port {
  fill: var(--orange);
}

.model-graph-title,
.model-graph-column {
  font-family: var(--mono);
  fill: var(--terminal);
}

.model-graph-title { font-size: 12px; font-weight: 750; }
.model-graph-column { font-size: 10px; }

.model-diagram-legend {
  display: grid;
  gap: .35rem;
  padding: .55rem .55rem .55rem 1.5rem;
  color: var(--terminal);
  font: 500 .77rem/1.5 var(--mono);
  overflow-wrap: anywhere;
}

.model-sr-only,
.model-editor-status:empty {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

#model-results table {
  width: 100%;
  border-collapse: collapse;
  font: 500 .81rem/1.5 var(--mono);
}

#model-results :is(th, td) {
  padding: .42rem .65rem;
  border-bottom: 1px solid var(--module-panel-border);
  text-align: start;
}

#model-results th {
  position: sticky;
  top: 0;
  color: var(--terminal);
  background: var(--terminal-result);
}

#model-sql {
  max-height: 22rem;
  overflow: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.model-editor-error {
  color: #9b2629;
  font-weight: 650;
}

.model-editor-columns {
  display: grid;
  gap: .48rem;
  margin-block: .55rem;
}

.model-editor-column {
  background: var(--paper);
}
