/* InSolutions R23.13.2 Matching & Fraud UCD production parity recovery.
   Route/page scoped by html[data-ins-matching-r2313-active="true"]. */
html[data-ins-matching-r2313-active="true"] #ins-ucd-r52-root {
  width: 100vw !important;
  max-width: none !important;
  transform: none !important;
  scale: 1 !important;
  zoom: 1 !important;
}
html[data-ins-matching-r2313-active="true"] #ins-ucd-r52-root .r52-drawer {
  width: 820px !important;
  min-width: 820px !important;
  max-width: 820px !important;
  flex: 0 0 820px !important;
  flex-basis: 820px !important;
  box-sizing: border-box !important;
  transform: none !important;
  scale: 1 !important;
  zoom: 1 !important;
}
/* Legacy Matching / generic UCI owners cannot visually coexist with the canonical drawer while Matching is active. */
html[data-ins-matching-r2313-active="true"] #ins-uci-drawer-root,
html[data-ins-matching-r2313-active="true"] .mfv20-backdrop,
html[data-ins-matching-r2313-active="true"] aside.mfv20-drawer,
html[data-ins-matching-r2313-active="true"] .mfv13-backdrop,
html[data-ins-matching-r2313-active="true"] aside.mfv13-drawer {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
/* The canonical drawer scrolls independently; no page-level clipping or overflow override is introduced. */
html[data-ins-matching-r2313-active="true"] #ins-ucd-r52-root .r52-drawer {
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

/* R23.13 final authority: only while the Matching controller is active. */
html[data-ins-matching-r2313-active="true"] #ins-ucd-r52-root{position:fixed!important;inset:0!important;display:flex!important;justify-content:flex-end!important;box-sizing:border-box!important;}
html[data-ins-matching-r2313-active="true"] #ins-ucd-r52-root[hidden]{display:none!important;}
html[data-ins-matching-r2313-active="true"] #ins-ucd-r52-root .r52-drawer{position:relative!important;right:auto!important;left:auto!important;top:auto!important;bottom:auto!important;width:820px!important;min-width:820px!important;max-width:820px!important;flex:0 0 820px!important;flex-basis:820px!important;}


/* R23.13 close + exact visual fit recovery. */
html[data-ins-matching-r2313-active="true"] #ins-ucd-r52-root[hidden],
html[data-ins-matching-r2313-active="true"] #ins-ucd-r52-root[aria-hidden="true"]{
  display:none!important;
  pointer-events:none!important;
}
html[data-ins-matching-r2313-active="true"] #ins-ucd-r52-root:not([hidden]){
  display:flex!important;
  pointer-events:auto!important;
  background:rgba(17,24,39,.34)!important;
}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:10px!important;
}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r238-visual-frame{
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r238-visual-stage{
  position:relative!important;
  transform-origin:0 0!important;
  margin:0!important;
  padding:0!important;
}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r238-visual-clone{
  position:relative!important;
  inset:auto!important;
  max-width:none!important;
  transform:none!important;
  scale:1!important;
  zoom:1!important;
  transform-origin:0 0!important;
}
/* R22's generic exact-chart rule forces every cloned SVG to 230px high. That is
   correct for Ledger Feed charts but wrong for the Matching relationship map.
   Restore the map SVG to its native stage geometry, then scale the WHOLE map. */
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r238-map-clone .mfv11-map-stage,
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r238-map-clone .mfv10-map-stage{
  position:relative!important;
  width:100%!important;
  max-width:none!important;
}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r238-map-clone .mfv11-map-stage>svg,
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r238-map-clone .mfv10-map-stage>svg{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  overflow:visible!important;
}
html[data-ins-matching-r2313-active="true"] #ins-ucd-r52-root .r52-analysis-layout.r238-map-mode{
  grid-template-columns:minmax(0,1fr)!important;
}
html[data-ins-matching-r2313-active="true"] #ins-ucd-r52-root .r52-analysis-layout.r238-map-mode .r52-visual{
  min-width:0!important;
  width:100%!important;
}
html[data-ins-matching-r2313-active="true"] #ins-ucd-r52-root .r52-analysis-layout.r238-map-mode .r52-analysis-side{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r238-selected-context-node{
  outline:3px solid #6d4aff!important;
  outline-offset:2px!important;
}


/* R23.13 production visual isolation.
   Every source element's computed layout is frozen inline with !important before
   it leaves the Matching page hierarchy. These rules only provide the neutral
   host; they do not attempt to reconstruct Matching chart/map CSS. */
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r238-visual-stage{
  overflow:visible!important;
  contain:layout paint!important;
}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r238-style-frozen,
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r238-style-frozen *{
  animation:none!important;
  transition:none!important;
  pointer-events:none!important;
}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r238-style-frozen svg{
  max-width:none!important;
  max-height:none!important;
}

/* R23.13 context-only relationship subgraph.
   Only the selected map node, its directly connected nodes, and the relationship
   paths between them are shown inside Analysis. The rest of the page map is
   deliberately excluded from the contextual visual. */
html[data-ins-matching-r2313-active="true"] #ins-ucd-r52-root .r52-analysis-layout.r238-context-map-mode{
  grid-template-columns:minmax(0,1fr)!important;
}
html[data-ins-matching-r2313-active="true"] #ins-ucd-r52-root .r52-analysis-layout.r238-context-map-mode .r52-visual{
  width:100%!important;
  min-width:0!important;
}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r238-context-map-frame{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  background:#fff!important;
}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r238-context-map-frame .r238-visual-stage{
  position:relative!important;
  overflow:hidden!important;
  contain:layout paint!important;
}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r238-context-map-content{
  position:absolute!important;
  left:0!important;
  top:0!important;
  margin:0!important;
  padding:0!important;
  transform-origin:0 0!important;
}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r238-context-node{
  visibility:visible!important;
}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r238-context-edge{
  visibility:visible!important;
}


/* R23.13 native contextual visual renderer.
   Do not detach/replay Matching DOM for charts or relationship maps. Render from
   the source-owner read model so production page CSS cannot distort the UCD visual. */
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-native-chart,
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-native-bars,
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-native-donut,
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-context-map{
  width:100%!important;max-width:100%!important;box-sizing:border-box!important;background:#fff!important;
}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-native-chart svg{
  display:block!important;width:100%!important;height:auto!important;min-height:250px!important;max-height:none!important;overflow:visible!important;
}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-chart-legend{display:flex!important;flex-wrap:wrap!important;gap:16px!important;margin:2px 0 8px!important;font-size:12px!important;color:#59657d!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-chart-legend span{display:inline-flex!important;align-items:center!important;gap:6px!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-chart-legend i{width:16px!important;height:3px!important;border-radius:2px!important;display:inline-block!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-native-bars{display:grid!important;gap:12px!important;padding:10px 4px!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-bar-row{display:grid!important;grid-template-columns:minmax(140px,1.1fr) minmax(180px,2fr) 44px!important;align-items:center!important;gap:10px!important;font-size:12px!important;color:#293653!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-bar-row i{display:block!important;height:9px!important;background:#edf1f8!important;border-radius:999px!important;overflow:hidden!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-bar-row i b{display:block!important;height:100%!important;background:#557fe8!important;border-radius:inherit!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-native-donut{display:grid!important;grid-template-columns:minmax(180px,260px) minmax(180px,1fr)!important;gap:22px!important;align-items:center!important;padding:8px!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-native-donut svg{display:block!important;width:100%!important;height:auto!important;max-height:260px!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-native-donut ul{list-style:none!important;margin:0!important;padding:0!important;display:grid!important;gap:10px!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-native-donut li{display:grid!important;grid-template-columns:10px 1fr auto!important;gap:8px!important;align-items:center!important;font-size:12px!important;color:#38445d!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-native-donut li i{width:9px!important;height:9px!important;border-radius:50%!important;display:block!important}
html[data-ins-matching-r2313-active="true"] #ins-ucd-r52-root .r52-analysis-layout.r239-native-map-mode{grid-template-columns:minmax(0,1fr)!important}
html[data-ins-matching-r2313-active="true"] #ins-ucd-r52-root .r52-analysis-layout.r239-native-map-mode .r52-analysis-side{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-context-map{position:relative!important;min-height:270px!important;overflow:hidden!important;border:1px solid #e2e7f0!important;border-radius:10px!important;background:linear-gradient(180deg,#fbfcff,#f7f9fd)!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-context-map>svg{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;overflow:visible!important;z-index:1!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-map-node{position:absolute!important;z-index:2!important;display:flex!important;align-items:center!important;gap:7px!important;box-sizing:border-box!important;border:1px solid!important;border-radius:8px!important;padding:6px 7px!important;box-shadow:0 2px 8px rgba(25,38,70,.08)!important;color:#1e2b48!important;overflow:hidden!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-map-node.selected{border:2px solid #6d4aff!important;box-shadow:0 0 0 3px rgba(109,74,255,.14),0 4px 12px rgba(25,38,70,.12)!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-node-icon{flex:0 0 22px!important;width:22px!important;height:22px!important;border-radius:6px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;color:#fff!important;font-size:12px!important;font-weight:700!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-node-copy{min-width:0!important;display:flex!important;flex-direction:column!important;line-height:1.12!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-node-copy b{font-size:11px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-node-copy small{font-size:9.5px!important;color:#627089!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;margin-top:2px!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-node-copy em{font-size:10px!important;color:#243654!important;font-style:normal!important;font-weight:700!important;margin-top:2px!important;white-space:nowrap!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r239-map-node>i{margin-left:auto!important;align-self:flex-end!important;color:#d34d5c!important;font-style:normal!important;font-size:9px!important;font-weight:700!important}

/* R23.13 context-contract visual hardening: the primary map/chart visual is self-contained SVG. */
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual [data-r2311-context-visual]{display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual [data-r2311-context-visual] svg{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;overflow:visible!important}

/* R23.13 single-writer Principal Visual isolation */
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual{display:block;min-height:260px;width:100%;overflow:hidden}
html[data-ins-matching-r2313-active="true"] #r22-source-chart[data-r2313-decoy="true"]{display:none!important;visibility:hidden!important;pointer-events:none!important;width:0!important;height:0!important;overflow:hidden!important}
html[data-ins-matching-r2313-active="true"] #r19-principal-chart,
html[data-ins-matching-r2313-active="true"] #r19-fallback-bars{display:none!important;visibility:hidden!important}
html[data-ins-matching-r2313-active="true"] .r2313-context-map-mode .r52-visual{grid-column:1/-1}

/* R23.13 — coordinate-independent directional lineage renderer. */
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r2313-lineage-map{width:100%!important;min-height:330px!important;border:1px solid #e1e7f0!important;border-radius:12px!important;background:linear-gradient(180deg,#fcfdff,#f7f9fd)!important;padding:10px!important;box-sizing:border-box!important;overflow:hidden!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r2313-lineage-map svg{display:block!important;width:100%!important;height:auto!important;min-height:300px!important;max-height:560px!important;overflow:visible!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r2313-lineage-summary{display:flex!important;gap:7px!important;flex-wrap:wrap!important;margin:0 0 8px!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r2313-lineage-summary span{display:inline-flex!important;align-items:center!important;gap:4px!important;border:1px solid #e1e6ef!important;border-radius:999px!important;background:#fff!important;color:#66758d!important;padding:5px 8px!important;font-size:9.5px!important;font-weight:700!important}
html[data-ins-matching-r2313-active="true"] #r2313-principal-visual .r2313-lineage-summary b{color:#5239d4!important;font-size:10px!important}
