/* CORE-11 shared debug / self-test cleanup. Scoped to the shared bench wrapper only. */
.ept-bench .ept-self-test {
  border-color: #bfdbfe;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.ept-bench .ept-self-test__header,
.ept-bench .ept-self-test__toolbar,
.ept-bench .ept-self-test__footer {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
}

.ept-bench .ept-self-test__header {
  margin-bottom: 12px;
}

.ept-bench .ept-self-test__header h3,
.ept-bench .ept-self-test__header p {
  margin-bottom: 0;
}

.ept-bench .ept-self-test__toolbar {
  justify-content: flex-start;
  margin-top: 12px;
}

.ept-bench .ept-self-test__results {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  margin-top: 14px;
}

.ept-bench .ept-self-test__item {
  background: #fff;
  border: 1px solid var(--ept-border);
  border-radius: 14px;
  padding: 10px 12px;
}

.ept-bench .ept-self-test__item strong,
.ept-bench .ept-self-test__item span {
  display: block;
}

.ept-bench .ept-self-test__item strong {
  color: var(--ept-text) !important;
  font-size: .82rem;
}

.ept-bench .ept-self-test__item span {
  color: var(--ept-muted) !important;
  font-size: .75rem;
  margin-top: 3px;
}

.ept-bench .ept-self-test__item.is-pass {
  background: var(--ept-success-bg);
  border-color: var(--ept-success-border);
}

.ept-bench .ept-self-test__item.is-warn {
  background: var(--ept-warning-bg);
  border-color: var(--ept-warning-border);
}

.ept-bench .ept-self-test__item.is-fail {
  background: var(--ept-error-bg);
  border-color: var(--ept-error-border);
}

.ept-bench .ept-self-test__item.is-pass strong { color: var(--ept-success-text) !important; }
.ept-bench .ept-self-test__item.is-warn strong { color: var(--ept-warning-text) !important; }
.ept-bench .ept-self-test__item.is-fail strong { color: var(--ept-error-text) !important; }

.ept-bench .ept-dev-panel {
  transition: box-shadow .15s ease, opacity .15s ease;
}

.ept-bench .ept-dev-panel__quick-heading,
.ept-bench .ept-dev-panel > .ept-section-heading {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
}

.ept-bench .ept-dev-panel__quick-heading {
  margin-bottom: 10px;
}

.ept-bench .ept-dev-panel__quick-title {
  display: grid;
  gap: 4px;
}

.ept-bench .ept-dev-panel__quick-title strong {
  color: var(--ept-text) !important;
  font-size: .95rem;
}

.ept-bench .ept-dev-panel__toggle {
  min-height: 34px !important;
  padding: 7px 12px !important;
}

.ept-bench .ept-dev-panel.is-collapsed {
  box-shadow: none;
}

.ept-bench .ept-dev-panel.is-collapsed > :not(.ept-section-heading):not(.ept-dev-panel__quick-heading) {
  display: none !important;
}

.ept-bench.ept-dev-compact [data-ept-dev-panel]:not([data-ept-dev-always-open]) {
  opacity: .96;
}

.ept-bench .ept-debug pre[data-ept-debug-state] {
  max-height: 320px;
  overflow: auto;
}

.ept-bench .ept-debug.is-collapsed pre[data-ept-debug-state] {
  max-height: 0;
}

@media (max-width: 760px) {
  .ept-bench .ept-self-test__header,
  .ept-bench .ept-self-test__toolbar,
  .ept-bench .ept-self-test__footer,
  .ept-bench .ept-dev-panel__quick-heading,
  .ept-bench .ept-dev-panel > .ept-section-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .ept-bench .ept-self-test__toolbar .ept-button,
  .ept-bench .ept-dev-panel__toggle {
    width: 100%;
  }
}

/* CORE-11.2: keep debug controls clickable even when adjacent preview/overlay layers are active. */
.ept-bench .ept-self-test,
.ept-bench .ept-self-test__toolbar,
.ept-bench .ept-dev-panel__quick-heading,
.ept-bench .ept-dev-panel > .ept-section-heading {
  position: relative;
  z-index: 12;
}

.ept-bench .ept-self-test__toolbar .ept-button,
.ept-bench .ept-dev-panel__toggle,
.ept-bench [data-ept-self-test-run],
.ept-bench [data-ept-dev-collapse-all],
.ept-bench [data-ept-dev-expand-all],
.ept-bench [data-ept-self-test-copy] {
  pointer-events: auto !important;
  position: relative;
  z-index: 13;
}

/* CORE-11.2: visible collapse/expand state and self-test feedback polish. */
.ept-bench .ept-dev-panel [hidden],
.ept-bench .ept-dev-panel [data-ept-collapsed-hidden][hidden] {
  display: none !important;
}

.ept-bench .ept-dev-panel.is-collapsed {
  min-height: auto;
  padding-bottom: 14px !important;
}

.ept-bench .ept-dev-panel.is-collapsed > .ept-section-heading,
.ept-bench .ept-dev-panel.is-collapsed > .ept-dev-panel__quick-heading {
  margin-bottom: 0 !important;
}

.ept-bench .ept-dev-panel.is-collapsed::after {
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 12px;
  color: #64748b;
  content: 'Collapsed · expand to inspect this contract';
  display: block;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .01em;
  margin-top: 10px;
  padding: 8px 10px;
}

.ept-bench .ept-self-test__collapse-summary {
  color: var(--ept-muted) !important;
  font-size: .82rem;
  margin: 4px 0 0;
  width: 100%;
}

.ept-bench .ept-self-test.is-self-test-checked,
.ept-bench .ept-self-test.is-collapse-flash,
.ept-bench .ept-self-test.is-expand-flash {
  animation: eptSelfTestFlash 1.05s ease-out;
}

.ept-bench .ept-self-test.is-collapse-flash {
  box-shadow: 0 0 0 4px rgba(59, 130, 246, .10), var(--ept-shadow);
}

.ept-bench .ept-self-test.is-expand-flash {
  box-shadow: 0 0 0 4px rgba(16, 185, 129, .10), var(--ept-shadow);
}

@keyframes eptSelfTestFlash {
  0% { box-shadow: 0 0 0 0 rgba(37, 99, 235, .28), var(--ept-shadow); }
  55% { box-shadow: 0 0 0 5px rgba(37, 99, 235, .12), var(--ept-shadow); }
  100% { box-shadow: var(--ept-shadow); }
}
