/* Corrective connectivity visuals. All rules are restricted to replaced figures. */
.legacy-connectivity { border-radius:16px; }
.legacy-connectivity .legacy-connectivity-scene { display:block; width:100%; height:145px; object-fit:contain; margin:12px 0; }
.legacy-connectivity.system-figure .legacy-connectivity-scene { height:auto; }
.legacy-connectivity .connection-flow li,
.legacy-connectivity .boundary-flow>div,
.legacy-connectivity .route-branches>div { border:0; background:transparent; }
.legacy-connectivity .connection-flow li::after,
.legacy-connectivity .boundary-flow>div::after { display:none; }
.legacy-connectivity .node-number,
.legacy-connectivity .boundary-flow span,
.legacy-connectivity .legacy-number { display:inline-grid; place-items:center; flex-shrink:0; width:30px; height:30px; border-radius:50%; background:#e7f2ef; color:#246579; font-size:11px; }
.legacy-connectivity .connection-flow { gap:10px; }
.legacy-connectivity .connection-flow li { padding:8px 0; }
.legacy-connectivity .boundary-flow { margin:14px 0; gap:8px; }
.legacy-connectivity .boundary-flow>div { padding:8px 0; }
.legacy-connectivity .route-map-body { display:block; padding:8px 0 20px; }
.legacy-connectivity .backbone>span { writing-mode:horizontal-tb; transform:none; }
.legacy-connectivity .backbone i,.legacy-connectivity .branch-line { display:none; }
.legacy-connectivity .route-branches { margin-top:18px; gap:10px; }
.legacy-connectivity .route-branches>div { padding:6px 0; }
.legacy-connectivity .route-branches .tech-icon { padding:5px; border-radius:50%; background:#e7f2ef; width:46px; height:46px; }
.legacy-connectivity .legacy-connection-labels { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:18px; padding:0; margin:16px 0 24px; }
.legacy-connectivity .legacy-connection-labels li { display:grid; grid-template-columns:30px 1fr; align-items:center; gap:7px 10px; color:#244653; }
.legacy-connectivity .legacy-connection-labels svg { width:25px; height:25px; color:#527b89; }
.legacy-connectivity .legacy-connection-labels strong { grid-column:1 / -1; font-size:14px; line-height:1.5; }
@media(max-width:680px) {
 .legacy-connectivity .legacy-connectivity-scene { height:110px; }
 .legacy-connectivity .legacy-connection-labels { gap:16px 12px; }
}

/* Page-specific schematics: all presentation stays inside replaced figures. */
figure[data-schematic] {
 --schematic-ink:#246579;
 --schematic-wire:#527b89;
 --schematic-paper:#f2f6f5;
 --schematic-edge:#c2d0d4;
}
figure[data-schematic].checkpoint-figure,
figure[data-schematic].technical-panel,
figure[data-schematic].analytics-panel {
 --schematic-ink:#d1e0e4;
 --schematic-wire:#8bb2bd;
 --schematic-paper:#172e39;
 --schematic-edge:#6b8792;
}
[data-schematic] .schematic-network { position:relative; margin:18px 0; }
[data-schematic] .schematic-backbone { position:absolute; inset:0; width:100%; height:100%; overflow:visible; fill:none; stroke:var(--schematic-wire); stroke-width:1; }
[data-schematic] .schematic-backbone path { vector-effect:non-scaling-stroke; stroke-width:2; }
[data-schematic] .schematic-mobile-trunk { display:none; }
[data-schematic] .schematic-nodes { position:relative; list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
[data-schematic] .schematic-count-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
[data-schematic] .schematic-node { min-width:0; padding:10px 8px; border:1px solid var(--schematic-edge); background:var(--schematic-paper); }
[data-schematic] .schematic-hardware { display:block; width:100%; max-width:230px; height:118px; margin:0 auto; overflow:visible; }
[data-schematic] .schematic-device { fill:none; stroke:var(--schematic-ink); stroke-linecap:round; stroke-linejoin:round; }
[data-schematic] .schematic-wiring { fill:none; stroke:var(--schematic-wire); stroke-linejoin:round; }
[data-schematic] .schematic-enclosure { fill:none; stroke:var(--schematic-edge); }
[data-schematic] .schematic-terminal { fill:var(--red); stroke:var(--schematic-paper); }
[data-schematic] .schematic-node-label { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:9px; font-size:14px; line-height:1.5; text-align:center; }
[data-schematic] .schematic-node-label strong { font-family:var(--body); font-size:14px; line-height:1.5; }
[data-schematic] .schematic-node-label .legacy-number,
[data-schematic] .schematic-node-label .node-number { flex-shrink:0; }
[data-schematic].checkpoint-figure .checkpoint-number { position:relative; width:100%; height:94px; border:0; border-radius:0; display:block; }
[data-schematic].checkpoint-figure .checkpoint-number .schematic-hardware { height:94px; }
[data-schematic].checkpoint-figure .checkpoint-number > span { position:absolute; top:0; left:0; background:var(--schematic-paper); padding:2px 5px; border:1px solid var(--schematic-edge); }
[data-schematic].checkpoint-figure .checkpoint-flow>li:not(:last-child)::after { content:''; width:38px; height:12px; right:-38px; top:64px; border-top:2px solid var(--schematic-wire); }
[data-schematic].ai-scene > svg { fill:none; }
@media(max-width:680px) {
 [data-schematic] .schematic-nodes { gap:18px; }
 [data-schematic] .schematic-hardware { height:88px; }
 [data-schematic] .schematic-node { padding:8px 5px; }
 [data-schematic] .schematic-node-label { flex-direction:column; gap:5px; font-size:13px; }
 [data-schematic] .schematic-node-label strong { font-size:13px; }
 [data-schematic] .schematic-count-3 { grid-template-columns:1fr; }
 [data-schematic] .schematic-count-3 .schematic-node { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:10px; }
 [data-schematic] .schematic-network:has(.schematic-count-3) .schematic-desktop-trunk { display:none; }
 [data-schematic] .schematic-network:has(.schematic-count-3) .schematic-mobile-trunk { display:block; }
 [data-schematic].checkpoint-figure .checkpoint-flow>li { grid-template-columns:80px minmax(0,1fr); gap:14px; }
 [data-schematic].checkpoint-figure .checkpoint-number,
 [data-schematic].checkpoint-figure .checkpoint-number .schematic-hardware { height:80px; }
}
@media(prefers-reduced-motion:reduce) {
 [data-schematic] .network-line { animation:none!important; transition:none; }
}
@media(forced-colors:active) {
 figure[data-schematic] { --schematic-ink:CanvasText; --schematic-wire:CanvasText; --schematic-paper:Canvas; --schematic-edge:CanvasText; }
}
