/*CSS for cell : meshSummary*/


            /* Backdrop overlay (blur + dim) */
            .ms-overlay{
                position: fixed;
                inset: 0;
                z-index: 999999;
                background: rgba(10, 12, 16, 0.42);
                backdrop-filter: blur(8px);
                -webkit-backdrop-filter: blur(8px);
                display: flex;
                align-items: center;
                justify-content: center;
                padding: 14px;
            }

            /* Header */
            .ms-header{
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 12px;
                padding: 14px 14px 12px 16px;
                border-bottom: 1px solid var(--ms-border2);
                background: linear-gradient(180deg, #ffffff, #fbfbfd);
            }

            .ms-titleWrap{
                display: flex;
                align-items: center;
                gap: 10px;
                min-width: 0;
            }

            .ms-badge{
                width: 28px; height: 28px;
                border-radius: 10px;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                border: 1px solid var(--ms-border2);
                background: rgba(123,97,255,0.10);
                color: var(--ms-accent);
                font-weight: 700;
                font-size: 14px;
                flex: 0 0 auto;
            }


            .ms-titleBlock{
                display: flex;
                flex-direction: column;
                min-width: 0;
            }

            /* Icon buttons (close + reset) */
            .ms-toolbar{
                display: flex;
                align-items: center;
                gap: 10px;
                flex: 0 0 auto;
            }

            .ms-iconbtn{
                width: 34px; height: 34px;
                border-radius: 999px;
                border: 1px solid var(--ms-border);
                background: var(--ms-btnbg);
                display: inline-flex;
                align-items: center;
                justify-content: center;
                cursor: pointer;
                user-select: none;
                color: rgba(16,24,40,0.85);
                transition: transform .08s ease, background .12s ease, border-color .12s ease;
                box-shadow: 0 6px 16px rgba(0,0,0,0.08);
                font-family: var(--ms-font);
            }
            .ms-iconbtn:hover{ background: var(--ms-btnhover); }
            .ms-iconbtn:active{ transform: scale(0.98); }

            .ms-iconbtn .ms-ic{
                font-size: 18px;
                line-height: 1;
            }
            .ms-iconbtn .ms-ic-close{
                font-size: 18px;
                transform: translateY(-0.5px);
            }
            .ms-iconbtn .ms-ic-reset{
                font-size: 18px;
                transform: translateY(-0.5px);
            }

            /* Body layout */
            .ms-body-mesh{
                flex: 1 1 auto;
                min-height: 0;
                display: grid;
                grid-template-columns: 1fr 320px;
                gap: 12px;
                padding: 12px;
                background: var(--ms-surface);
            }

            .ms-graphCard,
            .ms-sideCard{
                background: #fff;
                border: 1px solid var(--ms-border2);
                border-radius: 14px;
                overflow: hidden;
                min-height: 0;
                display: flex;
                flex-direction: column;
            }

            .ms-graphTopbar{
                padding: 10px 12px;
                border-bottom: 1px solid var(--ms-border2);
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 10px;
                background: linear-gradient(180deg, #ffffff, #fbfbfd);
            }


            .ms-chipRow{
                display: flex;
                align-items: center;
                gap: 8px;
                flex-wrap: wrap;
                justify-content: flex-end;
            }

            .ms-chip{
                font-size: 12px;
                color: rgba(16,24,40,0.78);
                border: 1px solid var(--ms-border2);
                padding: 4px 10px;
                border-radius: 999px;
                background: rgba(16,24,40,0.02);
            }

            .ms-graphWrap{
                position: relative;
                flex: 1 1 auto;
                min-height: 0;
            }

            .ms-graphWrap svg{
                width: 100%;
                height: 100%;
                display: block;
            }

            /* Side panel */
            .ms-sideHeader{
                padding: 10px 12px;
                border-bottom: 1px solid var(--ms-border2);
                background: linear-gradient(180deg, #ffffff, #fbfbfd);
                display:flex;
                align-items:center;
                justify-content: space-between;
                gap: 10px;
            }

            .ms-sideTitle{
                font-size: 13px;
                font-weight: 700;
                letter-spacing: 0.1px;
            }

            .ms-sideBody{
                padding: 12px;
                overflow: auto;
                font-size: 12px;
                color: rgba(16,24,40,0.78);
            }

            .ms-kv{
                display: grid;
                grid-template-columns: 92px 1fr;
                gap: 6px 10px;
                margin-bottom: 12px;
                align-items: start;
            }
            .ms-k{ color: rgba(16,24,40,0.55); }
            .ms-v{ color: rgba(16,24,40,0.82); word-break: break-word; }

            .ms-listTitle{
                margin: 10px 0 6px 0;
                font-size: 12px;
                font-weight: 700;
                color: rgba(16,24,40,0.86);
            }
            .ms-list{
                margin: 0;
                padding-left: 16px;
            }
            .ms-list li{ margin: 3px 0; }

            /* Footer */
            .ms-footer{
                padding: 10px 14px;
                border-top: 1px solid var(--ms-border2);
                background: #ffffff;
                display:flex;
                align-items:center;
                justify-content: space-between;
                gap: 10px;
                font-size: 12px;
                color: var(--ms-muted);
            }

            .ms-footer strong{ color: rgba(16,24,40,0.88); font-weight: 700; }

            /* D3 visuals */
            .ms-link{
                stroke: rgba(16,24,40,0.35);
                stroke-width: 2;
            }
            .ms-link-hit{
                stroke: transparent;
                stroke-width: 10;
                cursor: pointer;
            }
            .ms-nodeCircle{
                fill: rgba(123,97,255,0.16);
                stroke: rgba(123,97,255,0.65);
                stroke-width: 1.5;
                cursor: pointer;
            }
            .ms-nodeCircle--active{
                fill: rgba(239,68,68,0.18);
                stroke: rgba(239,68,68,0.85);
            }
            .ms-nodeText{
                font-size: 12px;
                fill: rgba(16,24,40,0.88);
                pointer-events: none;
                user-select: none;
            }
            .ms-edgeLabel{
                font-size: 12px;
                fill: rgba(16,24,40,0.72);
                pointer-events: none;
                user-select: none;
            }

            /* Dim state */
            .ms-dim{ opacity: 0.18; }

            /* Responsive: hide side panel on small widths */
            @media (max-width: 980px){
                .ms-body-mesh{ grid-template-columns: 1fr; }
                .ms-sideCard{ display:none; }
            }