.execution-plane {
  display: grid;
  gap: var(--spacing-xl);
}

.execution-plane .page-header {
  margin-bottom: 0;
}

.execution-plane__summary,
.execution-plane__stop,
.execution-plane__table-section {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: var(--spacing-xl);
}

.execution-plane__summary {
  display: flex;
  justify-content: space-between;
  gap: var(--spacing-xl);
  border-left: 4px solid var(--color-success);
}

.execution-plane__summary--warning {
  border-left-color: var(--color-warning);
}

.execution-plane__summary h2,
.execution-plane__stop h2,
.execution-plane__table-section h2 {
  margin: var(--spacing-sm) 0;
}

.execution-plane__identity {
  display: flex;
  gap: var(--spacing-xl);
  margin: 0;
}

.execution-plane__identity dt {
  color: var(--color-text-subtle);
  font-size: var(--text-xs);
  text-transform: uppercase;
}

.execution-plane__identity dd {
  margin: var(--spacing-xs) 0 0;
  font-weight: var(--font-semibold);
}

.execution-plane__checks {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: var(--spacing-md);
}

.execution-plane__check {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: var(--spacing-md);
  padding: var(--spacing-lg);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
}

.execution-plane__check small,
.execution-plane__metrics span {
  display: block;
  color: var(--color-text-subtle);
  margin-top: var(--spacing-xs);
}

.execution-plane__check-mark {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  font-weight: var(--font-bold);
}

.execution-plane__check-mark--pass {
  color: var(--color-success);
  background: var(--color-success-surface);
}

.execution-plane__check-mark--fail {
  color: var(--color-warning);
  background: var(--color-warning-surface);
}

.execution-plane__metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-md);
}

.execution-plane__metrics > div {
  padding: var(--spacing-lg);
  border-radius: var(--radius-lg);
  background: var(--color-surface-raised);
  border: 1px solid var(--color-border);
}

.execution-plane__metrics strong {
  display: block;
  font-size: var(--text-2xl);
}

.execution-plane__stop {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(320px, 1fr);
  gap: var(--spacing-xl);
  border-left: 4px solid var(--color-border);
}

.execution-plane__stop--active {
  grid-template-columns: 1fr;
  border-left-color: var(--color-warning);
}

.execution-plane__stop-form {
  display: grid;
  gap: var(--spacing-md);
}

.execution-plane__table-section {
  padding: 0;
  overflow: hidden;
}

.execution-plane__table-section h2,
.execution-plane__empty {
  padding: var(--spacing-lg) var(--spacing-xl);
  margin: 0;
}

.execution-plane__table-wrap {
  overflow-x: auto;
}

.execution-plane__table {
  width: 100%;
  border-collapse: collapse;
}

.execution-plane__table th,
.execution-plane__table td {
  padding: var(--spacing-md) var(--spacing-lg);
  border-top: 1px solid var(--color-border);
  text-align: left;
  white-space: nowrap;
}

.execution-plane__table th {
  color: var(--color-text-subtle);
  background: var(--color-surface-raised);
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

@media (max-width: 900px) {
  .execution-plane__summary,
  .execution-plane__stop {
    grid-template-columns: 1fr;
    flex-direction: column;
  }

  .execution-plane__metrics {
    grid-template-columns: repeat(2, 1fr);
  }
}
