/* Datasets pages: quality scorecard bars and the lineage boxes. */
.qd { display: flex; flex-direction: column; }
.qd-row { display: grid; grid-template-columns: 140px minmax(0, 1fr) 110px; align-items: center; gap: 16px; padding: 12px var(--pad-x); border-bottom: 1px solid var(--border-subtle); }
.qd-row:last-child { border-bottom: 0; }
.qd-row b { font-weight: 600; }
.qd-bar { height: 8px; border-radius: 99px; background: var(--bg-muted); position: relative; overflow: hidden; }
.qd-bar i { position: absolute; inset-block: 0; inset-inline-start: 0; border-radius: 99px; }
.ds-name { min-width: 220px; }
.ds-grain { min-width: 140px; max-width: 220px; }

/* Lineage lane map (dsLineage): lanes of dataset boxes over an SVG layer of links */
.ln-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding: 12px var(--pad-x) 0; }
.ln-help { margin: 4px 0 0; padding: 0 var(--pad-x); }
.ln-scroll { overflow-x: auto; padding: 12px var(--pad-x) 16px; }
.ln-canvas { position: relative; }
.ln-lane { position: absolute; top: 0; display: flex; flex-direction: column; gap: 2px; padding-bottom: 8px; border-bottom: 1px solid var(--border-subtle); }
.ln-lane b { font-size: var(--text-2xs, 11px); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--fg-2); }
.ln-lane span { font-family: var(--font-mono); font-size: 11px; color: var(--fg-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ln-links { position: absolute; inset: 0; pointer-events: none; overflow: visible; }
.ln-links path { fill: none; }
.ln-links .ln-e-on { stroke: var(--fg-2); stroke-width: 1.4; opacity: .65; }
.ln-links .ln-e { stroke: var(--border-strong, var(--border-control)); stroke-width: 1; opacity: .5; }
.ln-n { position: absolute; display: flex; flex-direction: column; justify-content: center; gap: 3px; padding: 8px 10px; text-align: start; border: 1px solid var(--border-default); border-radius: var(--radius); background: var(--surface-1); color: var(--fg-1); cursor: pointer; font: inherit; }
.ln-n:hover { border-color: var(--border-control); background: var(--hover-bg); }
.ln-n:focus-visible { outline: 2px solid var(--focus-ring, var(--fg-1)); outline-offset: 2px; }
.ln-n b { font-size: 13px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ln-n code { font-family: var(--font-mono); font-size: 11px; color: var(--fg-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ln-n.ln-f { border-color: var(--fg-1); box-shadow: 0 0 0 1px var(--fg-1); }
.ln-n.ln-d { opacity: .45; }
.ln-refs { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
