/* 30/10/2026 — diagramma del flusso dei dati nella piattaforma cloud di progetto (piattaforma-cloud-progetto.html) */
.cde-flow { margin: 8px 0 32px; border-top: .5px solid var(--line); border-bottom: .5px solid var(--line); padding: 24px 0; }
.d-main, .d-main > .d-sec, .d-main > .d-sec > div { min-width: 0; }
.cde-flow { max-width: 100%; }
.cde-flow-scroll { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.cde-flow svg { display: block; width: 100%; min-width: 760px; height: auto; font-family: var(--sans); }
.cde-flow .col-h { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; fill: var(--accent-text); font-weight: 500; }
.cde-flow .col-s { font-size: 11px; fill: #6b6b6b; }
.cde-flow .lane { fill: none; stroke: var(--line); stroke-width: .75; }
.cde-flow .lane-l { font-size: 12px; fill: #4a4a4a; font-weight: 500; }
.cde-flow .cell { fill: #fff; stroke: rgba(26, 26, 26, .28); stroke-width: .75; }
.cde-flow .cell--key { stroke: var(--accent); stroke-width: 1; }
.cde-flow .cell-t { font-size: 12.5px; fill: var(--ink); }
.cde-flow .cell-s { font-size: 11px; fill: #6b6b6b; }
.cde-flow .gate { stroke: var(--accent); stroke-width: 1; stroke-dasharray: 3 4; }
.cde-flow .gate-l { font-size: 11px; fill: var(--accent-text); }
.cde-flow .path { fill: none; stroke: rgba(26, 26, 26, .45); stroke-width: 1; marker-end: url(#cde-arrow); }
.cde-flow .path--back { stroke: var(--accent); stroke-dasharray: 4 4; marker-end: url(#cde-arrow-r); }
.cde-flow .back-l { font-size: 11px; fill: var(--accent-text); font-style: italic; }
.cde-flow .dot { fill: var(--accent); }
.cde-flow .dot--back { fill: #fff; stroke: var(--accent); stroke-width: 1.2; }
.cde-flow figcaption { margin-top: 12px; font-size: 13px; color: #6b6b6b; }
@media (prefers-reduced-motion: reduce) { .cde-flow .dot { display: none; } }
@media (max-width: 760px) { .cde-flow figcaption::before { content: "↔ "; } }

.cde-steps { counter-reset: passo; list-style: none; margin: 0 0 24px; padding: 0; display: grid; gap: 0; }
.cde-steps li { counter-increment: passo; display: grid; grid-template-columns: 44px 1fr; gap: 0 12px; padding: 14px 0; border-top: .5px solid var(--line); }
.cde-steps li::before { content: counter(passo, decimal-leading-zero); font-family: var(--display); font-size: 22px; color: var(--accent-text); line-height: 1.1; }
.cde-steps b { display: block; font-weight: 500; margin-bottom: 2px; }
