.dmn-drd-container {
  --dmn-definitions-background-color: var(--bio-surface-subtle);
  --dmn-definitions-border-color: var(--bio-border);
  --dmn-definitions-focus-border-color: var(--bio-border);
  --dmn-definitions-error-color: var(--bio-danger);
  --dmn-definitions-error-border-color: var(--bio-danger);
  --dmn-definitions-error-background-color: var(--bio-danger-surface-subtle);
  --drill-down-overlay-background-color: var(--bio-canvas-accent);
  --drill-down-overlay-color: var(--bio-text-on-primary);
  --drd-font-family-monospace: monospace;

  width: 100%;
  height: 100%;
  position: relative;
}

.dmn-drd-container * {
  box-sizing: border-box;
}

.djs-overlay .drill-down-overlay {
  font-size: 16px;
  text-align: left;
  padding: 1px;
}

.djs-overlay .drill-down-overlay > button,
.djs-overlay .drill-down-overlay > span {
  display: block;
  padding: 2px 4px;
  margin: 0;
  border: none;

  /* a hairline, deliberately tighter than the button scale */
  border-radius: 1px;
  background: var(--drill-down-overlay-background-color);
  color: var(--drill-down-overlay-color);
  font-size: inherit;
  outline-offset: 2px;
}

.dmn-definitions {
  position: absolute;
  top: 20px;
  left: 20px;
  background-color: var(--dmn-definitions-background-color);
  border: solid 1px var(--dmn-definitions-border-color);
  border-radius: var(--surface-border-radius);
  padding: 4px;
}

.dmn-definitions .dmn-definitions-name {
  font-size: 24px;
  padding: 3px;
}

.dmn-definitions .dmn-definitions-name:focus {
  outline: none;
}

.dmn-definitions .dmn-definitions-id {
  font-family: var(--drd-font-family-monospace);
  margin-top: 2px;
  padding: 3px;
}

.dmn-definitions .dmn-definitions-id:focus {
  outline: none;
}

.dmn-definitions > [contenteditable]:hover,
.dmn-definitions > [contenteditable]:focus {
  padding: 2px;
  background-color: var(--bio-surface);
  border-radius: var(--input-border-radius);
  border: 1px solid var(--dmn-definitions-focus-border-color);
}

.dmn-definitions .dmn-definitions-error-message {
  color: var(--dmn-definitions-error-color);
  display: block;
  font-size: 12px;
  margin-top: 6px;
}

.dmn-definitions .dmn-definitions-id.dmn-definitions-error {
  border-color: var(--dmn-definitions-error-border-color);
  background-color: var(--dmn-definitions-error-background-color);
}

.djs-container.with-palette .dmn-definitions {
  left: 80px;
}

.djs-container.with-palette-two-column .dmn-definitions {
  left: 130px;
}

.dmn-icon-decision-service::before {
  content: '';
  display: inline-block;
  width: 1em;
  height: 1em;
  background-color: currentcolor;
  mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="1" y="6" width="28" height="18" rx="3" stroke="black" stroke-width="1.5" fill="none"/><line x1="1" y1="15" x2="29" y2="15" stroke="black" stroke-width="1.5" stroke-linecap="butt"/></svg>');
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  vertical-align: middle;
}

.djs-overlay {
  & .dms-type-ref-dropdown {
    display: block;
  }

  & .dms-type-ref-select {
    background-color: var(--bio-surface);
    border: 1px solid var(--input-border-color);
    width: 125px;
    border-radius: 12px;
  }
}

.dmn-drd-container .djs-shape:is(.new-parent, .drop-ok, .drop-not-ok, .attach-ok) .dmn-decision-service-label {
  display: block;
}

.djs-divider-handle {
  cursor: ns-resize;
}

.djs-divider-handle-hit {
  fill: none;
  pointer-events: all;
}

.djs-divider-dragging .dmn-decision-service-divider {
  display: none;
}
