.edge-prominent{z-index:1000!important;opacity:1!important}.edge-dimmed{z-index:500!important;opacity:.3!important}.edge-z-1000{z-index:1000!important}.edge-z-500{z-index:500!important}.react-flow-dark{--react-flow-background: #1a1a1a;--react-flow-text: #ffffff;--react-flow-border: #404040;--react-flow-controls-bg: #2d2d2d;--react-flow-controls-border: #404040;--react-flow-minimap-bg: #2d2d2d;--react-flow-minimap-border: #404040}.react-flow-light{--react-flow-background: #f5f5f5;--react-flow-text: #1a1a1a;--react-flow-border: #e9ecef;--react-flow-controls-bg: #f8f9fa;--react-flow-controls-border: #e9ecef;--react-flow-minimap-bg: #f8f9fa;--react-flow-minimap-border: #e9ecef}.react-flow-dark .react-flow__background,.react-flow-light .react-flow__background{background-color:var(--react-flow-background)}.react-flow-light .react-flow__viewport{background-color:#f5f5f5!important}.react-flow-light .react-flow{background-color:#f5f5f5}.react-flow-dark .react-flow__controls,.react-flow-light .react-flow__controls{background-color:var(--react-flow-controls-bg);border-color:var(--react-flow-controls-border)}.react-flow-dark .react-flow__minimap,.react-flow-light .react-flow__minimap{background-color:var(--react-flow-minimap-bg);border-color:var(--react-flow-minimap-border)}.react-flow-dark .react-flow__controls-button,.react-flow-light .react-flow__controls-button{background-color:var(--react-flow-controls-bg);color:var(--react-flow-text);border-color:var(--react-flow-controls-border)}.react-flow-dark .react-flow__controls-button:hover{background-color:#4b5563}.react-flow-light .react-flow__controls-button:hover{background-color:#e9ecef}@media(max-width:768px){.react-flow__controls-button{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}}.react-flow__handle.tube-fiber-handle{border:none!important;transform:none!important;background-clip:padding-box!important;opacity:1!important;box-shadow:none!important}.react-flow__handle.tube-fiber-handle{background:var(--fiber-bg-image, var(--fiber-bg))!important;background-color:var(--fiber-bg)!important}.react-flow__handle.fibre-flow-handle{border:none!important;transform:none!important;background-clip:padding-box!important;opacity:1!important;box-shadow:none!important}.react-flow__handle.fibre-flow-handle{background:var(--fiber-bg-image, var(--fiber-bg))!important;background-color:var(--fiber-bg)!important;background-image:var(--fiber-bg-image, none)!important}.react-flow__handle-right.tube-fiber-handle{right:auto!important}.react-flow__node .react-flow__handle.tube-fiber-handle:not(.ribbon-bundle-handle),.react-flow__node .react-flow__handle.tube-fiber-handle:not(.ribbon-bundle-handle)[data-handlepos],.react-flow__handle.tube-fiber-handle:not(.ribbon-bundle-handle)[data-handlepos],.react-flow__handle.tube-fiber-handle:not(.ribbon-bundle-handle)[data-fiber-idx]{background:var(--fiber-bg-image, var(--fiber-bg))!important;background-color:var(--fiber-bg)!important;background-image:var(--fiber-bg-image, none)!important}@keyframes edgeConnectPulse{0%{opacity:0;stroke-width:1}50%{opacity:1;stroke-width:4}to{opacity:1;stroke-width:2}}.react-flow__edge.edge-connecting path,.react-flow__edge.edge-connecting .react-flow__edge-path{animation:edgeConnectPulse 1s ease-out}@keyframes rnEdgeHighlightPulse{0%,to{opacity:.85;stroke-width:var(--rn-edge-highlight-from, 2px)}50%{opacity:1;stroke-width:var(--rn-edge-highlight-to, 6px)}}@keyframes rnEdgeHighlightDash{0%{stroke-dashoffset:0}to{stroke-dashoffset:-48}}.rn-edge-highlight{animation:rnEdgeHighlightPulse 2.4s ease-in-out infinite,rnEdgeHighlightDash 1.8s linear infinite;opacity:.9;stroke-linecap:round}@keyframes spliceGlowFadeIn{0%{opacity:0;transform:translate(-50%) scaleY(.3)}to{opacity:1;transform:translate(-50%) scaleY(1)}}.splice-glow{animation:spliceGlowFadeIn .5s ease-out;transform-origin:center}@keyframes spliceTextFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.splice-text-overlay{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.react-flow-dark .splice-text-overlay{background:#0009}.react-flow-light .splice-text-overlay{background:#ffffffb3}.splice-text-label{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8),0 0 2px rgba(0,0,0,.6)}.splice-text-label.animate-in{animation:spliceTextFadeIn .5s ease-out;transform-origin:center}.react-flow-light .splice-text-label{color:#1a1a1a;text-shadow:0 1px 2px rgba(255,255,255,.9),0 0 4px rgba(255,255,255,.7)}.react-flow__node[data-type=splice],.react-flow__node[data-type=splice]>div{border:none!important;outline:none!important}.splice-node{background:transparent!important;border:none!important;outline:none!important}.react-flow__node[data-type=splice]:not(.selected)>div,.splice-node:not(.selected){box-shadow:none!important}.react-networks-attribution{padding:0;margin:0;z-index:1000}.react-networks-attribution-link{font-size:7px;color:#9ca3af;text-decoration:none;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;transition:color .2s ease;padding:1px 4px;border-radius:2px;display:inline-block;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.react-networks-attribution-link:hover{color:#e5e7eb;background:#0006}.react-flow-light .react-networks-attribution-link{color:#6b7280;background:#fff9}.react-flow-light .react-networks-attribution-link:hover{color:#1a1a1a;background:#fffc}.coupler-node{transition:box-shadow .2s ease}.coupler-node.selected{box-shadow:0 0 0 2px #3b82f6!important}.patch-panel-node{transition:box-shadow .2s ease,border-color .2s ease}.patch-panel-node.selected{box-shadow:0 0 0 2px #3b82f6!important;border-color:#3b82f6!important}.closure-node{transition:box-shadow .2s ease,border-color .2s ease}.closure-node.selected{box-shadow:0 0 0 2px #3b82f6!important;border-color:#3b82f6!important}.device-node{background-color:#1f2937;background-image:var(--rn-device-bg-image, none);background-position:var(--rn-device-bg-position, center);background-repeat:var(--rn-device-bg-repeat, no-repeat);background-size:var(--rn-device-bg-size, cover);border:1px solid var(--rn-device-border-color, #10b981);border-radius:2px;box-shadow:var(--rn-device-box-shadow, 0 1px 2px rgba(0, 0, 0, .1));box-sizing:border-box;color:#fff;cursor:grab;display:flex;flex-direction:column;font-family:monospace;font-size:8px;height:var(--rn-device-height, 20px);justify-content:center;left:var(--rn-device-left, auto);margin:0;padding:0;position:relative;width:var(--rn-device-width, 100%)}.device-node__content{display:flex;flex:1;flex-direction:column;justify-content:center;overflow:hidden;padding:2px;text-align:center}.device-node__label{font-size:7px;font-weight:700;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-node__manufacturer{color:#9ca3af;font-size:6px;line-height:1}.device-node__u-indicator{background:#374151;border-radius:1px;bottom:1px;color:#9ca3af;font-size:6px;line-height:1;padding:1px 2px;position:absolute;right:1px}.device-node__status-indicator{background:var(--rn-device-status-color, #6b7280);border-radius:50%;bottom:1px;height:4px;left:1px;position:absolute;width:4px}.react-flow-light .coupler-node{background:#f9fafb;color:#1f2937;border-color:#d1d5db}.react-flow-light .patch-panel-node,.react-flow-light .closure-node{background:transparent!important;color:#1f2937;border-color:#d1d5db}.react-flow__node[data-type=fibre-split],.react-flow__node.react-flow__node-fibre-split{background:transparent!important;border:none!important;padding:0!important}.react-flow__node[data-type=fibre-split]>div,.react-flow__node.react-flow__node-fibre-split>div{background:transparent!important;border:none!important;padding:0!important;box-shadow:none!important;overflow:visible!important}.react-flow__node[data-type=fibre-split] svg,.react-flow__node.react-flow__node-fibre-split svg{display:block!important;visibility:visible!important;opacity:1!important}.triangle-node{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;border:none!important;padding:0!important;margin:0!important;box-shadow:none!important;overflow:visible!important;box-sizing:border-box!important}.triangle-node-text{text-align:center;position:relative;z-index:2;width:46px;height:46px;display:flex;align-items:center;justify-content:center;margin:0;color:#000;font-weight:700;font-size:12px}.cable-node-rotated{transform-origin:center center!important}.react-flow__edge[data-type=fibre-flow] path,.react-flow__edge[data-type=fibre-flow] .react-flow__edge-path{opacity:1!important;stroke-opacity:1!important;mix-blend-mode:normal!important;filter:none!important}.react-flow__edge[data-type=fibre-flow-link] path,.react-flow__edge[data-type=fibre-flow-link] .react-flow__edge-path{opacity:1!important;stroke-opacity:1!important;mix-blend-mode:normal!important;filter:none!important}
