/* Изолированное оформление четвёртой страницы возможностей. */
.analytics-demo { --analytics-blue: #3563c0; --analytics-amber: #92610d; }
.analytics-demo .capability-controls { margin-bottom: 18px; }
.analytics-disclosure, .analytics-chart-note, .analytics-case__heading p, .analytics-loop { color: var(--color-text-secondary); font-size: 13px; line-height: 1.6; }
.analytics-disclosure { margin: 0 0 22px; }
.analytics-case + .analytics-case { margin-top: 28px; }
.analytics-case__heading h4 { font-size: 18px; color: var(--color-teal); margin: 0 0 8px; }
.analytics-case__heading p { margin: 0 0 16px; }
.analytics-workbench { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 20px; padding: 18px; background: #fff; border: 1px solid #c6dedf; border-radius: 14px; }
.analytics-workbench > div { min-width: 0; }
.analytics-chart { display: block; width: 100%; height: auto; overflow: visible; }
.analytics-chart text { font: 14px system-ui, sans-serif; fill: #647686; }
.analytics-chart-note { margin: 10px 0 0; }
.analytics-chart .analytics-blue { fill: var(--analytics-blue); }
.analytics-chart .analytics-teal { fill: #07817f; }
.analytics-chart .analytics-amber { fill: var(--analytics-amber); }
.analytics-grid { stroke: #e5eef2; stroke-width: 1; }
.analytics-axis { stroke: #b6cbd1; stroke-width: 1; }
.analytics-forecast { fill: none; stroke: var(--analytics-blue); stroke-width: 3; stroke-dasharray: 7 4; }
.analytics-history { fill: none; stroke: #087f7a; stroke-width: 2.5; }
.analytics-stock { stroke: #087f7a; stroke-width: 2; }
.analytics-gap, .analytics-threshold { stroke: #b77c13; stroke-width: 2; }
.analytics-threshold { stroke-dasharray: 5 4; }
.analytics-band { fill: #e4f4ef; }
.analytics-anomaly { fill: #c58b20; stroke: #fff; stroke-width: 2; }
.analytics-cell { fill: #f5f8fc; stroke: #cbd9e2; }
.analytics-cell.is-selected { fill: #fff0ce; stroke: #d19730; stroke-width: 2; }
.analytics-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; }
.analytics-stats div { min-width: 0; }
.analytics-stats dt { font-size: 11px; line-height: 1.5; color: var(--color-text-secondary); }
.analytics-stats dd { margin: 3px 0 0; font-size: 19px; font-weight: 700; color: #15313e; line-height: 1.4; }
.analytics-equation { font-size: 14px; line-height: 1.65; padding: 13px 0; margin: 12px 0 0; border-top: 1px solid #dfebee; }
.analytics-equation strong { color: var(--analytics-amber); }
.analytics-equation small { display: block; font-size: 11px; color: var(--color-text-secondary); }
.analytics-outcome { border-left: 3px solid #9684c9; padding: 0 0 0 12px; font-size: 13px; line-height: 1.65; }
.analytics-outcome > strong { color: #554182; }
.analytics-outcome p { margin: 8px 0 0; }
.analytics-groups { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.analytics-groups p { background: #f8f5fc; border-radius: 6px; padding: 8px; }
.analytics-demo.is-enhanced [data-reveal] { visibility: hidden; opacity: 0; }
.analytics-demo.is-enhanced [data-reveal].is-revealed { visibility: visible; opacity: 1; }
.analytics-result { min-height: 360px; }
.analytics-graph { padding: 30px 28px 36px; margin: 16px -8px 0; }
.analytics-graph .capability-graph__nodes { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(3, auto); gap: 46px 28px; }
.analytics-graph .capability-node { min-height: 104px; grid-area: auto; }
.analytics-graph [data-node=sources] { grid-area: 1 / 1; }
.analytics-graph [data-node=etl] { grid-area: 1 / 2; }
.analytics-graph [data-node=quality] { grid-area: 1 / 3; }
.analytics-graph [data-node=model] { grid-area: 2 / 3; }
.analytics-graph [data-node=analysis] { grid-area: 2 / 2; }
.analytics-graph [data-node=assessment] { grid-area: 2 / 1; }
.analytics-graph [data-node=rules] { grid-area: 3 / 1; }
.analytics-graph [data-node=action] { grid-area: 3 / 2; }
.analytics-graph [data-node=review] { grid-area: 3 / 3; }
.analytics-graph path[data-edge="review:etl"] { stroke-dasharray: 5 4; }
.analytics-loop { margin: 0 0 18px; }
.analytics-demo .capability-status { height: 146px; min-height: 0; overflow: auto; }
@media (max-width: 1100px) {
  .analytics-workbench { grid-template-columns: 1fr; }
  .analytics-result { min-height: 300px; }
}
@media (max-width: 760px) {
  .analytics-chart text { font-size: 18px; }
  .analytics-workbench { padding: 14px 10px; gap: 16px; }
  .analytics-stats { gap: 10px; }
  .analytics-stats dd { font-size: 17px; }
  .analytics-result { min-height: 390px; }
  .analytics-graph { padding: 24px 32px 30px 14px; margin: 12px -4px 0; }
  .analytics-graph .capability-graph__nodes { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; grid-auto-rows: auto; gap: 32px; }
  .analytics-graph .capability-node { grid-area: auto; min-height: 100px; }
  .analytics-demo .capability-status { height: 220px; }
}
@media (prefers-reduced-motion: reduce) {
  .analytics-demo.is-enhanced [data-reveal].is-revealed { transition: none; }
}

/* Каждая демонстрация имеет управление рядом со своим содержимым. */
.analytics-block-title { margin: 0 0 14px; font-size: 18px; color: var(--color-teal); }
.analytics-route { margin-top: 32px; padding-top: 26px; border-top: 1px solid var(--color-line-teal); }
.analytics-local-controls { border-bottom: 0; padding-bottom: 0; }
.analytics-analysis-status { margin-top: 18px; }
.analytics-demo [data-route-start] { background: var(--color-teal); color: white; border-color: var(--color-teal); }

/* Для аномалии показаны только шесть этапов и сравнение двух дней. */
.analytics-chart .analytics-expected { stroke: #438bde; fill: none; stroke-width: 2.5; }
.analytics-chart .analytics-actual { stroke: #4eab6b; fill: none; stroke-width: 2.5; }
.analytics-chart circle.analytics-expected { fill: #438bde; stroke: white; stroke-width: 1; }
.analytics-chart circle.analytics-actual { fill: #4eab6b; stroke: white; stroke-width: 1; }
.analytics-chart circle.analytics-threshold { fill: #c58937; stroke: white; stroke-width: 1; }
.analytics-chart .analytics-day-focus { fill: #397dd30c; stroke: #397dd355; stroke-width: 1; }
.analytics-chart .analytics-day-dot { fill: none; stroke: #ad7728; stroke-width: 2; }
.analytics-chart-legend { display: flex; flex-wrap: wrap; gap: 8px 14px; font-size: 11px; color: var(--color-text-secondary); margin-top: 12px; }
.analytics-chart-legend span::before { content: ''; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #438bde; margin-right: 5px; }
.analytics-chart-legend .is-actual::before { background: #4eab6b; }
.analytics-chart-legend .is-threshold::before { background: #c58937; }
.analytics-day-cases { margin: 16px 0; font-size: 13px; line-height: 1.6; }
.analytics-day-cases > div { padding: 10px; border: 1px solid #d5e6df; border-radius: 8px; margin-bottom: 10px; }
.analytics-day-cases > div:last-child { border-color: #e9d3a5; }
.analytics-day-cases strong { color: #26714d; }
.analytics-day-cases > div:last-child strong { color: #95691f; }
.analytics-day-cases p { margin: 6px 0 0; }
.analytics-graph.is-anomaly .capability-graph__nodes { grid-template-rows: repeat(2, auto); }
.analytics-graph.is-anomaly [data-node=model] { grid-area: 1 / 1; }
.analytics-graph.is-anomaly [data-node=quality] { grid-area: 1 / 2; }
.analytics-graph.is-anomaly [data-node=analysis] { grid-area: 1 / 3; }
.analytics-graph.is-anomaly [data-node=assessment] { grid-area: 2 / 3; }
.analytics-graph.is-anomaly [data-node=rules] { grid-area: 2 / 2; }
.analytics-graph.is-anomaly [data-node=action] { grid-area: 2 / 1; }
@media (max-width: 760px) {
  .analytics-graph.is-anomaly .capability-graph__nodes { grid-template-rows: none; }
  .analytics-graph.is-anomaly [data-node] { grid-area: auto; }
}

.process-prose .analytics-text-subheading { font-size: 18px; line-height: 1.5; margin: 30px 0 14px; color: var(--color-text); }
