.aha-path-form {
  display: grid;
  gap: 0.6rem;
}

.aha-v2-path-shell {
  display: grid;
  gap: 14px;
  border-color: rgba(122, 198, 255, .48);
  background: linear-gradient(145deg, rgba(23, 55, 90, .28), rgba(123, 211, 184, .055));
}

.aha-v2-path-shell[hidden] { display: none; }

.aha-v2-path-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
}

.aha-v2-path-heading h2,
.aha-v2-path-heading p { margin-top: 0; }

.aha-v2-path-preview-badge {
  border: 1px solid rgba(122, 198, 255, .58);
  border-radius: 999px;
  padding: 5px 10px;
  color: #c9e8ff;
  background: rgba(122, 198, 255, .09);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.aha-v2-path-preview-grid { display: grid; gap: 14px; }

.aha-v2-path-preview-card {
  display: grid;
  gap: 12px;
  padding: 15px;
  border: 1px solid rgba(122, 198, 255, .28);
  border-radius: 14px;
  background: rgba(5, 17, 28, .5);
}

.aha-v2-path-preview-card h3,
.aha-v2-path-preview-card > p { margin: 0; }

.aha-v2-path-steps {
  display: grid;
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.aha-v2-path-step {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.aha-v2-path-step > span {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: 1px solid #7ac6ff;
  background: #17375a;
  font-weight: 800;
}

.aha-v2-path-step div { display: grid; gap: 4px; }
.aha-v2-path-step small { color: #9fd7ff; text-transform: uppercase; letter-spacing: .05em; }
.aha-v2-path-step p { margin: 0; }

.aha-v2-materialize-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding-top: 4px;
}

.aha-v2-materialize-actions .module-meta { flex-basis: 100%; }

.aha-path-form input,
.aha-path-form select,
.aha-path-form textarea,
.aha-path-add-row select {
  width: 100%;
  padding: 0.55rem 0.7rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 8px;
  background: rgba(255,255,255,.04);
  color: inherit;
  font: inherit;
}

.aha-path-stats,
.aha-path-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.aha-path-badge {
  display: inline-block;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  color: inherit;
  border-radius: 999px;
  padding: 0.2rem 0.55rem;
  font-size: 0.86rem;
}

.aha-path-header,
.aha-path-step-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.7rem;
}

.aha-path-goal {
  border-left: 3px solid #7ac6ff;
  padding: .65rem .8rem;
  background: rgba(122, 198, 255, .07);
  border-radius: 0 10px 10px 0;
}

.aha-path-outcome {
  border-left-color: #7bd3b8;
  background: rgba(123, 211, 184, .07);
}

.aha-path-story {
  list-style: none;
  padding: 0;
  counter-reset: path-step;
}

.aha-path-story .aha-path-step-row {
  position: relative;
  align-items: flex-start;
  border: 0;
  padding: 0 0 1.15rem 3.2rem;
}

.aha-path-story .aha-path-step-row:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 1.15rem;
  top: 2.3rem;
  bottom: 0;
  width: 2px;
  background: linear-gradient(#7ac6ff, rgba(122, 198, 255, .18));
}

.aha-path-step-number {
  position: absolute;
  left: 0;
  top: 0;
  display: grid;
  place-items: center;
  width: 2.3rem;
  height: 2.3rem;
  border-radius: 999px;
  background: #17375a;
  border: 2px solid #7ac6ff;
  color: #fff;
  font-weight: 800;
}

.aha-path-step-content {
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  background: rgba(255,255,255,.025);
  padding: .75rem;
}

.aha-path-step-narrative,
.aha-path-step-outcome {
  margin: .45rem 0 0;
  overflow-wrap: anywhere;
}

.aha-path-step-outcome {
  color: #aee9d6;
  font-size: .9rem;
}

.aha-path-step-fields {
  display: grid;
  gap: 8px;
  margin-top: 8px;
}

.aha-path-step-fields textarea,
.aha-path-step-fields input {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 8px;
  background: rgba(255,255,255,.04);
  color: inherit;
}

.aha-paths-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: 16px;
  align-items: start;
}

.aha-path-overview,
.aha-path-overview-grid,
.aha-path-preview,
.aha-path-manage-content {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.aha-path-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
}

.aha-path-section-heading h2,
.aha-path-overview-card h3,
.aha-path-preview h2,
.aha-path-preview h3,
.aha-path-card-kicker {
  margin: 0;
}

.aha-path-overview-card {
  display: grid;
  gap: 10px;
  min-width: 0;
  transition: border-color 160ms ease, background 160ms ease;
}

.aha-path-overview-card.is-selected {
  border-color: rgba(122, 198, 255, .72);
  background: rgba(122, 198, 255, .07);
}

.aha-path-card-kicker,
.aha-path-meta,
.aha-path-summary,
.aha-path-preview p,
.aha-path-step-row {
  overflow-wrap: anywhere;
}

.aha-path-card-kicker {
  color: var(--muted, #aab4c3);
  font-size: .78rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.aha-path-summary { margin: 0; }

.aha-path-meta {
  color: var(--muted, #aab4c3);
  font-size: .86rem;
}

.aha-path-meta > span:not(:last-child)::after {
  content: "·";
  margin-left: 6px;
  color: rgba(255,255,255,.38);
}

.aha-path-preview {
  position: sticky;
  top: 16px;
  max-width: 100%;
  overflow: hidden;
}

.aha-path-preview-empty,
.aha-path-preview-empty-step {
  color: var(--muted, #aab4c3);
}

.aha-path-preview-empty h2 { color: inherit; }

.aha-path-steps {
  margin: 0.8rem 0 0;
  padding-left: 1.2rem;
  display: grid;
  gap: 8px;
}

.aha-path-step-row {
  border-top: 1px solid rgba(255,255,255,.12);
  padding: 0.55rem 0;
}

.aha-path-add-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
  align-items: center;
}

.aha-path-manage {
  border-top: 1px solid rgba(255,255,255,.12);
  padding-top: 10px;
}

.aha-path-manage summary {
  cursor: pointer;
  font-weight: 700;
  min-height: 44px;
  display: flex;
  align-items: center;
}

.aha-path-manage-content { padding-top: 10px; }

.aha-path-delete {
  justify-self: start;
  border-color: rgba(255, 112, 112, .48);
  color: #ffb0b0;
}

.aha-path-overview-card button,
.aha-path-preview button,
.aha-path-manage summary {
  min-height: 44px;
}

@media (max-width: 760px) {
  .aha-paths-workspace { grid-template-columns: minmax(0, 1fr); }
  .aha-path-preview { position: static; }

  .aha-path-header,
  .aha-path-section-heading,
  .aha-path-step-row {
    align-items: stretch;
    flex-direction: column;
  }

  .aha-path-overview-card button,
  .aha-path-preview button,
  .aha-path-add-row button,
  .aha-path-delete {
    width: 100%;
  }
}


/* Progress is derived only from saved step states; no separate counter. */
.aha-path-progress { margin: 14px 0 18px; display: grid; gap: 8px; }
.aha-path-progress label { font-size: .9rem; font-weight: 700; }
.aha-path-progress progress { display: block; width: 100%; height: 12px; accent-color: #69c5a7; }
.aha-path-step-row.is-done .aha-path-step-number { background: rgba(82, 192, 136, .19); border-color: rgba(82, 192, 136, .45); }
.aha-path-step-complete { margin: 8px 0; }
.aha-path-step-complete[aria-pressed="true"] { border-color: rgba(82, 192, 136, .6); color: #b7f0d2; }
.aha-path-step-fields select { width: 100%; min-height: 44px; }
