/* Example from the supplied sketch: sources below, information flowing upward. */
.dashboard-convergence { background:#f4f7fb; border-block:1px solid #e0e7ef; }
.dashboard-diagram { margin:0; padding:38px; border:1px solid #dce5ef; border-radius:18px; background:#fff; }
.dashboard-destination { max-width:580px; margin:0 auto; padding:28px 32px; border:1px solid #1a2b5f; border-radius:14px; background:#1a2b5f; color:#fff; text-align:center; }
.dashboard-destination-icon .schema-node-icon { margin:0 auto 14px; background:#ffffff16; color:#c4e8df; }
.trackoe .dashboard-destination h3 { margin:0 0 12px; color:#fff; font-size:28px; }
.trackoe main#contenu .dashboard-destination p { margin:0; color:#e3ecf7; text-align:center; text-align-last:center; font-size:16px; line-height:1.65; }
.dashboard-outputs ul { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; list-style:none; padding:0; margin:22px 0 0; }
.dashboard-outputs li { margin:0; padding:6px 13px; border:1px solid #ffffff35; border-radius:999px; font-size:13px; color:#fff; }
.dashboard-uplink { position:relative; display:flex; align-items:center; justify-content:center; min-height:100px; }
.dashboard-uplink-line { position:absolute; inset:0 auto 0 50%; width:2px; background:#0f6f63; transform:translateX(-50%); }
.dashboard-uplink-line::before { content:''; position:absolute; top:2px; left:-5px; width:10px; height:10px; border-left:2px solid #0f6f63; border-top:2px solid #0f6f63; transform:rotate(45deg); }
.dashboard-uplink>div { position:relative; max-width:calc(50% - 24px); margin-left:calc(50% + 24px); padding-block:12px; color:#40665f; font-size:14px; line-height:1.5; }
.dashboard-sources ul { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); column-gap:28px; list-style:none; padding:32px 0; margin:0; position:relative; }
.dashboard-sources ul::before,.dashboard-sources ul::after { content:''; position:absolute; left:calc((100% - 84px)/8); right:calc((100% - 84px)/8); height:1px; background:#92b9ad; }
.dashboard-sources ul::before { top:0; }
.dashboard-sources ul::after { bottom:0; }
.dashboard-sources li { position:relative; min-width:0; margin:0; padding:24px 16px; border:1px solid #d0deef; border-top:3px solid #3173bb; border-radius:10px; background:#f0f5fc; color:#53627a; text-align:center; font-size:14px; line-height:1.65; }
.dashboard-sources li::before,.dashboard-sources li::after { content:''; position:absolute; left:50%; width:1px; height:33px; background:#92b9ad; }
.dashboard-sources li::before { top:-35px; }
.dashboard-sources li::after { bottom:-33px; }
.dashboard-sources li:nth-child(n+3) { border-color:#e6d8be; border-top-color:#a3762e; background:#fcf7ee; }
.dashboard-sources strong { color:#1a2b5f; font-size:18px; }
.trackoe main#contenu .dashboard-sources p { text-align:center; text-align-last:center; margin:0; }
.dashboard-communication { position:relative; max-width:700px; margin:0 auto; padding:25px 20px 0; text-align:center; }
.dashboard-communication::before { content:''; position:absolute; top:0; left:50%; height:20px; width:1px; background:#92b9ad; }
.trackoe .dashboard-communication h3 { margin:0 0 10px; font-size:20px; color:#0f6f63; }
.trackoe main#contenu .dashboard-communication p { margin:0; text-align:center; text-align-last:center; font-size:15px; line-height:1.65; color:#53627a; }
.dashboard-diagram figcaption { margin:28px 0 0; padding-top:20px; border-top:1px solid #e1e7ed; }
.trackoe main#contenu .dashboard-diagram figcaption p { margin:0; text-align:start; text-align-last:start; font-size:13px; color:#667386; line-height:1.65; }
@media(max-width:900px) {
  .dashboard-diagram { padding:28px 22px; }
  .dashboard-sources ul { column-gap:14px; }
  .dashboard-sources ul::before,.dashboard-sources ul::after { left:calc((100% - 42px)/8); right:calc((100% - 42px)/8); }
  .dashboard-sources li { padding:20px 10px; }
  .dashboard-sources strong { font-size:16px; }
}
/* Keep diagram labels independent of the site's editorial paragraph/list rules. */
.trackoe main#contenu .dashboard-destination,
.trackoe main#contenu .dashboard-destination h3,
.trackoe main#contenu .dashboard-destination-copy,
.trackoe main#contenu .dashboard-destination-copy p,
.trackoe main#contenu .dashboard-outputs li,
.trackoe main#contenu .dashboard-sources li,
.trackoe main#contenu .dashboard-sources li p,
.trackoe main#contenu .dashboard-communication,
.trackoe main#contenu .dashboard-communication h3,
.trackoe main#contenu .dashboard-communication p {
  text-align:center !important;
  text-align-last:center;
  hyphens:manual;
}
.trackoe main#contenu .dashboard-uplink>div {
  max-width:80%; margin:0; padding:8px 14px; background:#fff;
  text-align:center; text-align-last:center; line-height:1.6;
}
.trackoe main#contenu .schema-stop .schema-stop-title,
.trackoe main#contenu .schema-stop .schema-stop-text,
.trackoe main#contenu .schema-stop .schema-stop-index {
  text-align:center;
  text-align-last:center;
}
.trackoe main#contenu .schema-chip { text-align:start; text-align-last:start; }
.trackoe main#contenu .schema-stop-bubble p,
.trackoe main#contenu .schema-tour-bubble-text p { text-align:start !important; text-align-last:start; }
@media(max-width:760px) {
  .trackoe main#contenu .schema-stop .schema-stop-title,
  .trackoe main#contenu .schema-stop .schema-stop-text,
  .trackoe main#contenu .schema-stop .schema-stop-index {
    text-align:start !important; text-align-last:start;
  }
}
@media(max-width:600px) {
  .dashboard-diagram { padding:24px 16px; }
  .dashboard-destination { padding:24px 16px; }
  .trackoe .dashboard-destination h3 { font-size:24px; }
  .dashboard-uplink { min-height:118px; }
  .dashboard-uplink>div { font-size:12px; max-width:calc(50% - 14px); margin-left:calc(50% + 14px); }
  .dashboard-sources ul { grid-template-columns:1fr; gap:14px; padding:0 0 0 22px; margin-left:0; border-left:1px solid #92b9ad; }
  .dashboard-sources ul::before { left:0; right:50%; top:0; }
  .dashboard-sources ul::after { left:0; right:50%; bottom:0; }
  .dashboard-sources li { padding:18px 12px; }
  .dashboard-sources li::before { width:22px; height:1px; left:-23px; top:50%; }
  .dashboard-sources li::after { display:none; }
  .dashboard-sources li:first-child { margin-top:22px; }
  .dashboard-sources li:last-child { margin-bottom:22px; }
  .dashboard-communication { padding-inline:0; }
}
