/* DESIGN-7 — Shared Production Design Final Lock.
 * Locks the approved Start, Workspace, and Export/Result shared surfaces before real tools are mounted.
 */
.ept-design-lock {
  display: grid;
  gap: 14px;
}

.ept-design-lock__header,
.ept-design-lock__toolbar,
.ept-design-lock__footer {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.ept-design-lock__header h3 {
  margin: 6px 0 6px;
}

.ept-design-lock__header p,
.ept-design-lock__footer p {
  color: var(--ept-muted) !important;
  margin: 0;
}

.ept-design-lock__toolbar {
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.ept-design-lock__scoreboard {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ept-design-lock__score,
.ept-design-lock__rule,
.ept-design-lock__item {
  background: rgba(248, 250, 252, .94);
  border: 1px solid var(--ept-border);
  border-radius: 16px;
  padding: 12px;
}

.ept-design-lock__score strong,
.ept-design-lock__score span {
  display: block;
}

.ept-design-lock__score strong {
  color: var(--ept-text) !important;
  font-size: 1.45rem;
  line-height: 1;
}

.ept-design-lock__score span {
  color: var(--ept-muted) !important;
  font-size: .78rem;
  font-weight: 800;
  margin-top: 5px;
}

.ept-design-lock__rules {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ept-design-lock__rule {
  background: linear-gradient(180deg, rgba(239, 246, 255, .96), rgba(255, 255, 255, .96));
  border-color: rgba(191, 219, 254, .9);
}

.ept-design-lock__rule strong,
.ept-design-lock__rule span,
.ept-design-lock__copy strong,
.ept-design-lock__copy span {
  display: block;
}

.ept-design-lock__rule strong,
.ept-design-lock__copy strong {
  color: var(--ept-text) !important;
}

.ept-design-lock__rule span,
.ept-design-lock__copy span {
  color: var(--ept-muted-strong) !important;
  font-size: .82rem;
  margin-top: 4px;
}

.ept-design-lock__list {
  display: grid;
  gap: 10px;
}

.ept-design-lock__item {
  align-items: flex-start;
  display: grid;
  gap: 10px;
  grid-template-columns: auto minmax(0, 1fr);
}

.ept-design-lock__item.is-pass {
  background: var(--ept-success-bg);
  border-color: var(--ept-success-border);
}

.ept-design-lock__item.is-warn {
  background: var(--ept-warning-bg);
  border-color: var(--ept-warning-border);
}

.ept-design-lock__item.is-fail {
  background: var(--ept-error-bg);
  border-color: var(--ept-error-border);
}

.ept-design-lock__mark {
  background: rgba(15, 23, 42, .08);
  border-radius: 999px;
  color: var(--ept-text) !important;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .04em;
  line-height: 1;
  padding: 7px 8px;
  text-transform: uppercase;
}

.ept-design-lock.is-checked {
  animation: eptDesignLockFlash 900ms ease both;
}

.ept-bench[data-ept-design-locked="true"] .ept-design-lock [data-ept-design-lock-status] {
  box-shadow: 0 0 0 3px rgba(34, 197, 94, .12);
}

.ept-bench[data-ept-design-locked="true"] [data-ept-production-surface] {
  outline: 2px solid rgba(34, 197, 94, .12);
  outline-offset: 4px;
}

@keyframes eptDesignLockFlash {
  0% { box-shadow: 0 0 0 rgba(37, 99, 235, 0); }
  28% { box-shadow: 0 0 0 5px rgba(37, 99, 235, .13); }
  100% { box-shadow: 0 0 0 rgba(37, 99, 235, 0); }
}

@media (max-width: 780px) {
  .ept-design-lock__header,
  .ept-design-lock__toolbar,
  .ept-design-lock__footer {
    display: grid;
  }

  .ept-design-lock__scoreboard,
  .ept-design-lock__rules {
    grid-template-columns: 1fr;
  }
}
