.react-flow{direction:ltr}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1px;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:-webkit-grab;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background:#1a192b;border:1px solid #fff;border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-top{top:-4px;left:50%;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{top:50%;right:-4px;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{background:#ffffff80;margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{color:#222;text-align:center;background-color:#fff;border:1px solid #1a192b;border-radius:3px;width:150px;padding:10px;font-size:12px}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{box-sizing:content-box;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fefefe;border:none;border-bottom:1px solid #eee;justify-content:center;align-items:center;width:16px;height:16px;padding:5px;display:flex}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;width:4px;height:4px;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}
.hierarchy-page{padding-top:22px;padding-bottom:40px}.hierarchy-hero{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);background:radial-gradient(circle at 86% 10%,#eab3082e,#0000 28%),linear-gradient(135deg,#22d3ee29,#090d19c7);border:1px solid #22d3ee2e;margin-bottom:18px;padding:34px;position:relative;overflow:hidden}.hierarchy-hero:after{content:"";border-radius:calc(var(--radius-lg) - 6px);pointer-events:none;border:1px solid #ffffff0f;position:absolute;inset:16px}.hierarchy-kicker{color:#67e8f9;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.74rem;font-weight:900}.hierarchy-hero h1{font-family:var(--font-heading);margin:8px 0 10px;font-size:clamp(1.7rem,4vw,3.4rem);font-weight:900;line-height:.95}.hierarchy-hero p{color:#dbeafe;max-width:720px;margin:0;line-height:1.6}.hierarchy-stats{flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px;display:flex}.hierarchy-stats span{color:#cbd5e1;background:#ffffff0e;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:.82rem;font-weight:700;display:inline-flex}.hierarchy-stats strong{color:#fbbf24;font-weight:900}.hierarchy-collapse-btn{color:#f0abfc;cursor:pointer;background:#a78bfa1f;border:1px solid #a78bfa52;border-radius:999px;padding:8px 16px;font-size:.78rem;font-weight:800;transition:background .2s,border-color .2s}.hierarchy-collapse-btn:hover{background:#a78bfa38}.hierarchy-legend{flex-wrap:wrap;gap:16px;margin-top:14px;display:flex}.legend-item{font-size:.72rem;font-weight:700;font-family:var(--font-mono);letter-spacing:.04em;color:#94a3b8}.legend-live{color:#10b981}.legend-queue{color:#fbbf24}.legend-expanded{color:#a78bfa}.hierarchy-wrapper{border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-lg), inset 0 1px 0 #ffffff0d;border:1px solid #22d3ee29;position:relative;overflow:visible}.hierarchy-flow-container{border-radius:var(--radius-lg);background-color:#050711c2;background-image:linear-gradient(#22d3ee0a 1px,#0000 1px),linear-gradient(90deg,#22d3ee09 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:34px 34px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;width:100%;height:78vh;position:relative;overflow:hidden}.ministry-node{width:276px;min-height:88px;color:var(--text-primary);text-align:left;cursor:pointer;background:radial-gradient(circle at 100% 0,#22d3ee14,#0000 44%),linear-gradient(135deg,#12192cf7,#080c18f7);border:1.5px solid;border-radius:18px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid;box-shadow:0 14px 28px #0000004d,inset 0 1px #ffffff0f}.ministry-node:hover{transform:translateY(-3px);box-shadow:0 22px 44px #0006,0 0 24px #22d3ee1a}.ministry-node--selected{animation:1.8s ease-in-out infinite pulse-selected;box-shadow:0 0 0 3px #22d3ee40,0 14px 28px #0000004d}.ministry-node--expanded{box-shadow:0 0 0 3px #a78bfa4d,0 14px 28px #0000004d}@keyframes pulse-selected{0%,to{box-shadow:0 0 0 3px #22d3ee33,0 14px 28px #0000004d}50%{box-shadow:0 0 0 6px #22d3ee14,0 14px 28px #0000004d}}.node-icon{border:1px solid #ffffff14;border-radius:14px;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.node-copy{min-width:0}.node-label{font-family:var(--font-heading);font-size:.97rem;font-weight:900;line-height:1;display:block}.node-name{color:#cbd5e1;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:.68rem;line-height:1.25;display:block;overflow:hidden}.node-meta{color:#7f8ea5;letter-spacing:.07em;text-transform:uppercase;margin-top:5px;font-size:.58rem;font-weight:800;display:block}.node-status{text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-radius:999px;align-self:start;padding:3px 7px;font-size:.6rem;font-weight:900}.node-ready{color:#10b981;background:#10b9811a;border:1px solid #10b98138}.node-queue{color:#fbbf24;background:#fbbf241a;border:1px solid #fbbf2433}.scheme-node{width:276px;color:var(--text-primary);cursor:pointer;text-align:left;background:linear-gradient(135deg,#a78bfa1a,#080c18e6);border:1px solid #a78bfa47;border-radius:12px;align-items:center;gap:8px;padding:9px 12px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 6px 18px #00000040}.scheme-node:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0000004d,0 0 16px #a78bfa26}.scheme-node-icon{flex-shrink:0;font-size:.85rem}.scheme-node-body{flex:1;min-width:0}.scheme-node-name{white-space:nowrap;text-overflow:ellipsis;color:#e2d9f3;font-size:.68rem;font-weight:800;line-height:1.25;display:block;overflow:hidden}.scheme-node-year{color:#a78bfa;font-size:.58rem;font-weight:700;font-family:var(--font-mono);margin-top:2px;display:block}.scheme-node-arrow{color:#a78bfa;flex-shrink:0;font-size:1rem;font-weight:700}.group-label-node{color:#67e8f9;letter-spacing:.05em;text-transform:uppercase;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#22d3ee12;border:1px solid #22d3ee2e;border-radius:999px;align-items:center;gap:7px;padding:7px 14px;font-size:.72rem;font-weight:900;display:inline-flex}.group-label-emoji{font-size:.9rem}.group-label-text{font-family:var(--font-mono)}.node-popup-overlay{z-index:9000;-webkit-backdrop-filter:blur(6px);background:#0507118c;justify-content:center;align-items:center;animation:.18s fadeInOverlay;display:flex;position:fixed;inset:0}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.node-popup{background:radial-gradient(circle at 90% 10%,#22d3ee1a,#0000 40%),linear-gradient(160deg,#12192cfa,#070a16fa);border:1px solid #22d3ee4d;border-radius:26px;width:min(440px,94vw);padding:28px;animation:.22s cubic-bezier(.34,1.56,.64,1) slideUpPopup;position:relative;box-shadow:0 50px 100px #000000b3,0 0 50px #22d3ee1a,inset 0 1px #ffffff12}@keyframes slideUpPopup{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.node-popup-close{color:#94a3b8;cursor:pointer;background:#ffffff12;border:1px solid #ffffff1a;border-radius:50%;place-items:center;width:30px;height:30px;font-size:.82rem;transition:background .15s,color .15s;display:grid;position:absolute;top:16px;right:16px}.node-popup-close:hover{color:#f87171;background:#ef44442e}.node-popup-header{align-items:center;gap:16px;margin-bottom:16px;display:flex}.node-popup-icon{border:1px solid #ffffff1a;border-radius:18px;flex-shrink:0;place-items:center;width:58px;height:58px;display:grid}.node-popup-titles{flex:1;min-width:0}.node-popup-short{font-family:var(--font-heading);color:#f3f4f6;font-size:1.35rem;font-weight:900;line-height:1}.node-popup-name{color:#94a3b8;margin-top:5px;font-size:.78rem;line-height:1.3}.node-popup-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.node-popup-badge{letter-spacing:.08em;color:#67e8f9;font-size:.62rem;font-weight:900;font-family:var(--font-mono);background:#22d3ee1a;border:1px solid #22d3ee38;border-radius:999px;padding:4px 10px}.node-popup-count{color:#94a3b8;font-size:.78rem;font-weight:700}.node-popup-status{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:3px 9px;font-size:.62rem;font-weight:900}.status-live{color:#10b981;background:#10b9811a;border:1px solid #10b98138}.status-queue{color:#fbbf24;background:#fbbf241a;border:1px solid #fbbf2433}.node-popup-schemes{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.node-popup-pill{color:#c7d2fe;white-space:nowrap;text-overflow:ellipsis;background:#6366f11a;border:1px solid #6366f138;border-radius:999px;max-width:180px;padding:4px 10px;font-size:.68rem;font-weight:700;overflow:hidden}.node-popup-pill--more{color:#94a3b8;background:#ffffff0f;border-color:#ffffff1a}.node-popup-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;display:grid}.node-popup-btn{cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:7px;padding:12px 16px;font-size:.82rem;font-weight:800;transition:transform .15s,box-shadow .15s,background .15s;display:flex}.node-popup-btn:active{transform:scale(.97)}.node-popup-btn--primary{color:#050711;background:linear-gradient(135deg,#22d3ee,#0ea5e9);box-shadow:0 6px 20px #22d3ee4d}.node-popup-btn--primary:hover{transform:translateY(-1px);box-shadow:0 8px 28px #22d3ee73}.node-popup-btn--secondary{color:#c4b5fd;background:#a78bfa24;border:1px solid #a78bfa52}.node-popup-btn--secondary:hover{background:#a78bfa38;transform:translateY(-1px)}.node-popup-btn--disabled{opacity:.42;cursor:not-allowed}.node-popup-hint{color:#64748b;text-align:center;margin-top:12px;font-size:.72rem}.react-flow__controls,.react-flow__minimap{box-shadow:var(--shadow-md);overflow:hidden;background:#080c18e0!important;border:1px solid #22d3ee24!important;border-radius:14px!important}.react-flow__controls button{color:#94a3b8!important;background:#080c18e6!important;border-bottom:1px solid #ffffff12!important}.react-flow__controls button:hover{color:#22d3ee!important;background:#22d3ee1a!important}@media (max-width:720px){.hierarchy-hero{padding:22px}.ministry-node{width:240px}.scheme-node{width:160px}.node-popup-actions{grid-template-columns:1fr}}
