/* The owner's real launch milestones and the creator's aggregate report. */
.owner-journey { margin: 0 0 24px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--panel); }
/* Folded: one line — ring, «Запуск бота · 3 из 7», the next step and a chevron. */
.owner-journey > summary { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 12px 16px; cursor: pointer; list-style: none; }
.owner-journey > summary::-webkit-details-marker { display: none; }
.journey-ring { position: relative; flex: none; display: grid; place-items: center; width: 38px; height: 38px; }
.journey-ring svg { position: absolute; inset: 0; }
.journey-ring-track { stroke: var(--panel-3); }
.journey-ring-fill { stroke: var(--ok); }
.journey-ring > span { position: relative; font-size: 11px; font-weight: 650; font-variant-numeric: tabular-nums; }
.journey-summary { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.journey-kicker { color: var(--muted); font-size: 12px; }
.journey-kicker .journey-title { font-size: inherit; font-weight: 500; }
.journey-next-title { font-size: 15px; font-weight: 650; line-height: 1.3; overflow-wrap: anywhere; }
.journey-title { font-size: 15px; font-weight: 650; line-height: 1.3; }
.journey-progress { color: inherit; white-space: nowrap; font-variant-numeric: tabular-nums; }
.owner-journey.is-complete .journey-progress { color: var(--muted); font-size: 12px; }
.journey-chevron { flex: none; width: 9px; height: 9px; margin-right: 4px; border-right: 2px solid var(--muted); border-bottom: 2px solid var(--muted); transform: rotate(-45deg); transition: transform .2s ease; }
.owner-journey[open] .journey-chevron { transform: rotate(45deg); }
/* Open: segments, the done steps as marks, the next step with its action, everything else behind «Все шаги». */
.journey-body { display: grid; gap: 14px; padding: 0 16px 16px; }
.journey-segments { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.journey-segments > span { height: 6px; border-radius: 3px; background: var(--panel-3); }
.journey-segments > .is-done { background: var(--ok); }
.journey-segments > .is-current { background: var(--primary); }
.journey-done { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.journey-done li { padding: 4px 10px; border-radius: 999px; background: rgb(90 196 143 / .12); color: var(--ok); font-size: 12px; }
.journey-next { display: grid; gap: 4px; padding: 14px; border: 1px solid var(--line-2); border-radius: var(--radius-md); background: var(--panel-2); }
.journey-next-step { color: var(--muted); font-size: 12px; }
.journey-next h3 { margin: 0; font-size: 16px; }
.journey-next p { margin: 2px 0 10px; color: var(--text-2); font-size: 14px; }
.journey-next .journey-action { justify-self: start; }
.journey-all > summary { width: fit-content; color: var(--text-2); font-size: 14px; font-weight: 600; cursor: pointer; }
.journey-all > summary:hover { color: var(--text); }
.journey-all[open] > summary { margin-bottom: 12px; }
.journey-intro { margin: 0 0 12px; color: var(--text-2); font-size: 13px; }
.journey-steps { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.journey-step { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 12px; padding: 14px 0; border-top: 1px solid var(--line); }
.journey-step:last-child { padding-bottom: 0; }
.journey-mark { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--line-2); border-radius: 50%; color: var(--muted); font-size: 13px; }
.journey-step.is-done .journey-mark { color: var(--ok); border-color: var(--ok); }
.journey-step.is-current .journey-mark { border-color: var(--primary); background: var(--primary); color: var(--primary-ink); font-weight: 650; }
.journey-step-heading { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 12px; }
.journey-step h3 { margin: 4px 0; font-size: 15px; }
.journey-step.is-locked h3 { color: var(--muted); }
.journey-state, .journey-date { color: var(--muted); font-size: 12px; }
.journey-date { display: block; }
.journey-step p { max-width: 54em; margin: 4px 0 12px; color: var(--text-2); font-size: 14px; }
.journey-action { max-width: 100%; }
.journey-bot-select { margin-bottom: 16px; }
.journey-bot-select label { margin-top: 0; }
.journey-bot-controls { display: flex; flex-wrap: wrap; gap: 8px; }
.journey-bot-controls select { flex: 1 1 180px; min-width: 0; }
.journey-bot-controls button { flex: 0 0 auto; }
.journey-bot-select .form-error:empty { display: none; }
.journey-unavailable { padding: 20px; }
.journey-period { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; margin-bottom: 22px; }
.journey-period > div { flex: 1 1 160px; min-width: 0; }
.journey-period label { margin-top: 0; }
.journey-period button { flex: 0 0 auto; }
.journey-period .form-error { flex-basis: 100%; margin: 0; }
.journey-report-note { margin: 0 0 20px; color: var(--text-2); font-size: 14px; }
.journey-stats { margin-bottom: 22px; }
.journey-stage-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.journey-stage-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.journey-stage-row:last-child { border-bottom: 0; }
.journey-stage-count { font-variant-numeric: tabular-nums; font-weight: 650; }
.journey-stage-hint { display: block; margin-top: 4px; color: var(--muted); font-size: 13px; }
.journey-transition { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 6px 14px; padding: 14px 0; border-top: 1px solid var(--line); }
.journey-transition:first-child { border-top: 0; }
.journey-transition > div { min-width: 0; }
@media (max-width: 619px) { .owner-journey > summary { padding: 12px 14px; } .journey-body { padding: 0 14px 14px; } .journey-step { gap: 10px; } .journey-next .journey-action { justify-self: stretch; } }

.journey-bottleneck { display: block; margin: 8px 0; font-size: 18px; line-height: 1.35; overflow-wrap: anywhere; }

.journey-period :is(input, button) { min-height: 52px; }
