.graph-container{position:fixed;top:76px;left:0;right:0;bottom:0;display:flex;flex-direction:column;background:#fff;z-index:10}.graph-header{flex-shrink:0;padding:.5rem 1rem;border-bottom:1px solid rgba(15,23,42,.08);background:#fff;position:relative;z-index:20}.graph-title{margin-right:1rem}.graph-title i{font-size:1.5rem;background:var(--brand-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.graph-selection-group{flex:1;min-width:200px;max-width:450px}.graph-selection-input{position:relative;display:flex;align-items:center}.graph-selection-input input{flex:1;min-width:0}.graph-selection-input input.graph-has-selection{padding-right:2rem}.graph-selected-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:0;padding:.25rem;cursor:pointer;color:#6c757d;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .15s;z-index:5}.graph-selected-clear:hover{background:rgba(0,0,0,.1);color:var(--bs-danger)}.graph-suggestion-list{position:absolute;top:calc(100% + .35rem);left:0;right:0;z-index:1050;background:#fff;border-radius:.5rem;box-shadow:0 16px 32px rgba(15,23,42,.18);border:1px solid rgba(15,23,42,.08);max-height:320px;overflow-y:auto;display:none}.graph-suggestion-item{padding:.5rem .75rem;border-bottom:1px solid rgba(15,23,42,.05);cursor:pointer;transition:background-color .15s}.graph-suggestion-item:last-child{border-bottom:0}.graph-suggestion-item:hover,.graph-suggestion-item.active{background-color:rgba(13,110,253,.06)}.graph-canvas-area{z-index:1}#graphNetwork canvas{position:absolute!important;top:0!important;left:0!important;cursor:default}#graphNetwork.graph-hover-node canvas{cursor:pointer}#graphNetwork>div{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;z-index:1!important}.graph-canvas-toolbar{top:.75rem;left:.75rem;z-index:100;pointer-events:auto}.graph-canvas-toolbar .btn:not(.btn-primary){background:rgba(255,255,255,.95);border:1px solid rgba(15,23,42,.1);box-shadow:0 2px 4px rgba(0,0,0,.05)}.graph-canvas-toolbar .btn:not(.btn-primary):hover{background:#fff;border-color:var(--bs-primary)}.graph-canvas-toolbar .btn.btn-primary{box-shadow:0 2px 4px rgba(0,0,0,.05)}.graph-zoom-controls{bottom:.75rem;right:.75rem;z-index:100;pointer-events:auto}.graph-zoom-controls .btn{background:rgba(255,255,255,.95);border:1px solid rgba(15,23,42,.1);box-shadow:0 2px 4px rgba(0,0,0,.05);width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center}.graph-zoom-controls .btn:hover{background:#fff;border-color:var(--bs-primary)}.graph-legend{position:absolute;bottom:.75rem;left:.75rem;z-index:100;pointer-events:auto}.graph-legend-toggle{background:rgba(255,255,255,.95);border:1px solid rgba(15,23,42,.1);box-shadow:0 2px 4px rgba(0,0,0,.05);width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:.375rem;cursor:pointer;transition:all .15s}.graph-legend-toggle:hover{background:#fff;border-color:var(--bs-primary)}.graph-legend-toggle.active{background:var(--bs-primary);color:#fff;border-color:var(--bs-primary)}.graph-legend-content{position:absolute;bottom:calc(100% + .5rem);left:0;background:rgba(255,255,255,.98);border:1px solid rgba(15,23,42,.1);border-radius:.5rem;box-shadow:0 4px 12px rgba(0,0,0,.1);padding:.75rem;min-width:160px;font-size:.8rem}.graph-legend-title{font-weight:600;color:#6c757d;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.graph-legend-item{display:flex;align-items:center;gap:.5rem;padding:.25rem 0;color:#495057}.graph-legend-icon{width:1.25rem;text-align:center}.graph-legend-divider{height:1px;background:rgba(15,23,42,.08);margin:.5rem 0}.graph-legend-node{width:14px;height:14px;border-radius:50%;border:2px solid;background:#fff;display:inline-block}.graph-legend-node-start{border-color:#0d6efd}.graph-legend-node-target{border-color:#0ca678}.graph-legend-node-path{border-color:#0d6efd;background:#eef5ff}.graph-filter-pills{position:absolute;bottom:.75rem;left:50%;transform:translateX(-50%);display:flex;gap:.35rem;flex-wrap:wrap;justify-content:center;pointer-events:auto;z-index:100}.graph-filter-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.375rem .75rem;background:rgba(255,255,255,.95);border:1px solid rgba(15,23,42,.1);border-radius:999px;font-size:.875rem;cursor:pointer;transition:all .15s;box-shadow:0 2px 4px rgba(0,0,0,.05)}.graph-filter-pill:hover{border-color:var(--bs-danger)}.graph-filter-pill.active{background:var(--bs-danger);color:#fff;border-color:var(--bs-danger)}.graph-filter-pill input{display:none}.graph-sidebar{width:320px;min-width:250px;max-width:500px;border-left:1px solid rgba(15,23,42,.08);z-index:15}.graph-sidebar-resize{position:absolute;left:0;top:0;bottom:0;width:5px;cursor:ew-resize;background:transparent;z-index:20;transition:background .15s}.graph-sidebar-resize:hover,.graph-sidebar-resize.resizing{background:var(--bs-primary);opacity:.3}.graph-path-accordion .accordion-item{border:0;border-bottom:1px solid rgba(15,23,42,.06)}.graph-path-accordion .accordion-item:last-child{border-bottom:0}.graph-path-accordion .accordion-button{padding:.6rem .75rem;background:transparent;box-shadow:none;font-size:.875rem}.graph-path-accordion .accordion-button:not(.collapsed){background:rgba(214,51,108,.04);color:inherit}.graph-path-accordion .accordion-button:focus{box-shadow:none}.graph-path-accordion .accordion-button::after{width:1rem;height:1rem;background-size:1rem;margin-left:.5rem}.graph-path-strength{height:4px;background:rgba(15,23,42,.08);border-radius:2px;overflow:hidden;min-width:40px;max-width:80px}.graph-path-strength-bar{height:100%;background:linear-gradient(90deg,#0d6efd,#0ca678);border-radius:2px;transition:width .3s ease}.graph-path-node-link:hover{background:rgba(13,110,253,.06);color:var(--bs-primary)}.graph-path-edge-row{background:rgba(0,0,0,.02);font-size:.75rem}.graph-node-popover{position:absolute;z-index:100;display:block;min-width:340px;max-width:340px;pointer-events:auto;box-shadow:0 8px 24px rgba(15,23,42,.18);border-radius:.5rem;overflow:hidden}.graph-node-popover .popover-arrow{position:absolute}.graph-node-popover .popover-header{padding:.75rem 1rem;background:#fff}.graph-node-popover .popover-body{padding:.75rem 1rem}.graph-node-popover .node-label-full{font-weight:600;font-size:.9rem;color:#212529;word-wrap:break-word;line-height:1.3}.graph-node-popover .popover-body .btn{font-size:.8rem}.graph-node-popover .btn-group .btn{flex:1}.graph-popover-loading{padding:.5rem 0}.graph-popover-metric{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;background:rgba(13,110,253,.08);border-radius:.25rem;font-size:.7rem}.graph-popover-metric-label{color:#6c757d}.graph-popover-metric-value{font-weight:600;color:#212529}.graph-popover-tech{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .4rem;background:rgba(10,166,120,.1);color:#0a6847;border-radius:.25rem;font-size:.65rem;font-weight:500}.graph-toast-container{top:5rem;right:1rem;z-index:1100}@media(max-width:992px){.graph-main{flex-direction:column}.graph-sidebar{width:100%!important;min-width:100%;max-width:100%;max-height:300px;border-left:0;border-top:1px solid rgba(15,23,42,.08)}.graph-sidebar-resize{display:none}.graph-canvas-area{min-height:300px}.graph-selection-group{flex:1 1 200px;max-width:none}.graph-filter-pills{bottom:3rem}}@media(max-width:767.98px){.graph-selection-group{min-width:100%;max-width:100%;flex:1 1 100%}}@media(max-width:576px){.graph-container{top:56px}.graph-header{padding:.5rem 1rem}.graph-filter-pills{bottom:3.5rem;left:.5rem;right:.5rem;transform:none;padding:.5rem;background:rgba(255,255,255,.95);border-radius:.5rem;box-shadow:0 2px 8px rgba(0,0,0,.1)}.graph-filter-pill{padding:.25rem .5rem;font-size:.75rem}.graph-sidebar{max-height:200px}.graph-zoom-controls{bottom:.5rem;right:.5rem}.graph-legend{bottom:.5rem;left:.5rem}}