/* Scoped to the local explorer: no changes to other Atlas graphs. */
[data-view-panel="relationships"] .panel-header { align-items: flex-start; flex-wrap: wrap; }
[data-view-panel="relationships"] .panel-header > div:first-child { max-width: 700px; }
[data-view-panel="relationships"] .panel-header .button-row { flex-wrap: wrap; }
.relationship-provenance { display:flex; gap:14px; align-items:center; padding:12px 16px; margin-bottom:18px; border:1px solid var(--border); border-left:3px solid var(--teal); border-radius:8px; background:var(--panel); }
.relationship-provenance > span { color:var(--teal); font:600 10px "IBM Plex Mono",monospace; white-space:nowrap; letter-spacing:.1em; }
.relationship-provenance p { margin:0; font-size:12px; color:var(--muted); line-height:1.6; }
.relationship-workbench { min-width:0; }
.relationship-filters { display:grid; grid-template-columns:2fr 1fr 1fr; gap:16px; margin-bottom:24px; }
.relationship-filters label { min-width:0; margin:0; }
.relationship-filters input,.relationship-filters select { width:100%; min-width:0; }
.relationship-map-header,.relationship-browse-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; }
.relationship-map-header h3 { margin:4px 0; overflow-wrap:anywhere; }
.relationship-map-header .eyebrow,.relationship-detail .eyebrow { color:var(--teal); font-size:10px; letter-spacing:.15em; }
.relationship-workspace { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:18px; margin-top:18px; }
.relationship-map-column { min-width:0; }
.relationship-canvas { overflow:hidden; border:1px solid var(--border); border-radius:12px; background-color:var(--panel-elevated); background-image:radial-gradient(var(--border-strong) .7px,transparent .7px); background-size:22px 22px; }
.relationship-canvas #relationshipGraph { min-height:420px; aspect-ratio:3/2; touch-action:none; cursor:grab; }
.relationship-canvas #relationshipGraph:active { cursor:grabbing; }
.relationship-canvas .relationship-link { fill:none; stroke:var(--muted); stroke-width:1.2; opacity:.32; }
.relationship-canvas .relationship-link.is-active { stroke:var(--teal); opacity:.85; stroke-width:1.8; }
.relationship-record { cursor:pointer; }
.relationship-record rect { fill:var(--panel); stroke:var(--border-strong); stroke-width:1; }
.relationship-record:hover rect,.relationship-record:focus rect { stroke:var(--teal); stroke-width:2.5; }
.relationship-record.is-selected rect { stroke:var(--teal); stroke-width:2.5; fill:var(--panel-strong); }
.relationship-record text { fill:var(--text); font:500 12px "IBM Plex Sans",sans-serif; pointer-events:none; }
.relationship-record .relationship-record-type { font-size:10px; fill:var(--muted); }
.relationship-zoom { position:absolute; bottom:12px; left:12px; display:flex; align-items:center; gap:4px; padding:4px; border:1px solid var(--border); border-radius:10px; background:var(--panel); }
.relationship-zoom button { min-height:32px; padding:4px 10px; }
.relationship-zoom output { font:11px "IBM Plex Mono",monospace; color:var(--muted); min-width:45px; text-align:center; }
.relationship-legend { display:flex; flex-wrap:wrap; gap:12px; margin:14px 0; font-size:11px; color:var(--muted); }
.relationship-legend span { display:inline-flex; align-items:center; gap:6px; }
.relationship-legend i { width:7px; height:7px; border-radius:50%; }
.relationship-detail { min-width:0; background:var(--panel-elevated); border:1px solid var(--border); border-radius:12px; padding:18px; max-height:590px; overflow:auto; }
.relationship-detail h3 { margin:8px 0; font-size:18px; overflow-wrap:anywhere; }
.relationship-detail code { font-size:10px; overflow-wrap:anywhere; color:var(--muted); }
.relationship-connections { display:grid; gap:8px; margin-top:18px; }
.relationship-connections button { text-align:left; display:grid; gap:6px; white-space:normal; overflow-wrap:anywhere; padding:12px; }
.relationship-connections small { color:var(--teal); font-size:10px; }
.relationship-connections span { font-size:12px; }
.relationship-empty { position:absolute; top:40%; width:100%; text-align:center; color:var(--muted); }
.relationship-empty[hidden] { display:none; }
.relationship-browse-header { margin:24px 0 16px; padding-top:20px; border-top:1px solid var(--border); }
.relationship-browse-header h3 { margin:0; }
.relationship-browse-header .button-row { flex-wrap:wrap; }
.relationship-record-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.relationship-list-record { display:grid; gap:6px; padding:12px 14px; border:1px solid var(--border); border-radius:8px; text-align:left; background:var(--panel-elevated); color:var(--text); white-space:normal; min-width:0; }
.relationship-list-record:hover,.relationship-list-record[aria-pressed="true"] { border-color:var(--teal); background:var(--panel-strong); }
.relationship-list-name { overflow-wrap:anywhere; font-size:12px; }
.relationship-list-reference { font:10px "IBM Plex Mono",monospace; color:var(--muted); overflow-wrap:anywhere; }
.relationship-label-details { margin:16px 0; font-size:12px; }
.relationship-label-details dt { margin-top:14px; color:var(--muted); font-size:10px; font-weight:600; }
.relationship-label-details dd { margin:5px 0 0; overflow-wrap:anywhere; white-space:pre-wrap; line-height:1.6; }
[data-view-panel="relationships"] :focus-visible { outline:2px solid var(--teal); outline-offset:3px; }
@media (max-width:1100px) { .relationship-workspace { grid-template-columns:minmax(0,1fr); } .relationship-detail { max-height:340px; } .relationship-connections { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:650px) { .relationship-filters,.relationship-record-list,.relationship-connections { grid-template-columns:1fr; } .relationship-provenance { align-items:flex-start; flex-direction:column; gap:8px; } .relationship-canvas #relationshipGraph { min-height:350px; } }
