/* Shared reading scale and alignment for all three supply-chain stages. */
:root {
  --chain-title: 14px;
  --chain-copy: 13px;
  --chain-meta: 12px;
  --chain-gap: 16px;
  --chain-border: #dce3d7;
  --chain-ink: #344b3c;
  --chain-muted: #718071;
}
.atlas-lanes { grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--chain-gap); align-items: stretch; }
.atlas-lane { display: flex; flex-direction: column; }
.stage-head { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 4px; min-height: 61px; margin-bottom: 8px; padding-bottom: 12px; }
.stage-head b { font-size: var(--chain-title); font-weight: 650; line-height: 1.6; }
.stage-head b i { font: 12px 'Segoe UI',sans-serif; margin-right: 8px; }
.stage-head small { font-size: var(--chain-meta); line-height: 1.6; margin: 0; color: var(--chain-muted); }
.lane-group-title,.supply-class>summary { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 9px 0; border: 0; font-size: var(--chain-copy); line-height: 1.8; color: var(--chain-ink); }
.lane-group-title b,.supply-class>summary b { flex: 1; font-weight: 600; }
.lane-group-title small,.supply-class>summary small { font-size: var(--chain-meta); font-weight: 400; color: var(--chain-muted); }
.supply-class { border: 0; }
.supply-class>summary:before { font-size: 14px; width: 12px; text-align: center; }
.supply-class>summary::-webkit-details-marker { display: none; }
.family-chip-list,.application-tags,.supply-chip-list { display: grid; grid-template-columns: 1fr; gap: 8px; }
.supply-class-list { gap: 12px; }
.atlas-lane [data-chain-card],.metal-supply-content [data-chain-card] { position: relative; display: flex; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 6px; width: 100%; min-width: 0; min-height: 94px; padding: 12px 28px 12px 12px; border: 1px solid var(--chain-border); border-left: 3px solid var(--group,#739168); border-radius: 2px; background: #fff; text-align: left; color: var(--chain-ink); line-height: 1.65; }
.atlas-lane [data-chain-card]:hover,.metal-supply-content [data-chain-card]:hover { border-color: var(--group,#739168); background: #f4f7f0; }
[data-chain-card] .chain-card-title { display: block; margin: 0; font-size: var(--chain-title); font-weight: 600; line-height: 1.65; color: var(--chain-ink); overflow-wrap: anywhere; }
[data-chain-card] .chain-card-meta { display: block; margin: 0; font-size: var(--chain-meta); font-weight: 400; line-height: 1.65; color: var(--chain-muted); overflow-wrap: anywhere; }
[data-chain-card] .chain-card-arrow { position: absolute; top: 13px; right: 10px; float: none; font-size: 13px; font-weight: 400; font-style: normal; color: var(--group,#527044); }
[data-chain-card]:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
.supply-more { margin-top: 8px; }
.supply-more>summary { min-height: 36px; padding: 7px 0; font-size: var(--chain-meta); line-height: 1.8; }
.supply-more .supply-chip-list { padding-top: 6px; }
.supply-dedup,.all-supply,.all-applications { font-size: var(--chain-meta); line-height: 1.8; margin: 12px 0 0; }
.all-supply,.all-applications { color: var(--green); text-decoration: underline; text-underline-offset: 4px; }
.role-caption { font-size: var(--chain-meta); line-height: 1.8; color: var(--chain-muted); padding-top: 16px; margin-top: auto; }
.atlas-metal-title>span,.atlas-metal-title small,.atlas-metal-title>.text-link { font-size: var(--chain-meta); }

/* A product path uses the same three equal columns and text scale. */
.path-headings,.path-row { grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--chain-gap); }
.path-headings { padding: 14px; font-size: var(--chain-copy); line-height: 1.8; color: var(--chain-ink); }
.path-row { padding: 14px; font-size: var(--chain-title); line-height: 1.75; }
.path-row small { display: block; font-size: var(--chain-meta); font-weight: 400; line-height: 1.7; color: var(--chain-muted); margin-bottom: 6px; }
.path-row b { display: block; font-size: var(--chain-title); font-weight: 600; line-height: 1.75; color: var(--chain-ink); overflow-wrap: anywhere; }
.path-source { font-size: var(--chain-title); }
.path-product em,.path-demand>span { display: block; margin: 6px 0 0; font-size: var(--chain-meta); font-style: normal; line-height: 1.8; color: var(--chain-muted); }
.path-demand:before { display: none; }
.family-scope,.family-scope b,.atlas-family .family-actions>span { font-size: var(--chain-meta); line-height: 1.8; }
.atlas-family.product-node>summary b { font-size: 16px; }
.atlas-family.product-node>summary small,.atlas-family.product-node>summary>span { font-size: var(--chain-meta); line-height: 1.8; }
.family-jump a,.branch-intro,.metal-supply-entry { font-size: var(--chain-copy); }
.family-jump small,.state-tag,.product-toolbar>span,.product-toolbar .button,.family-actions .button { font-size: var(--chain-meta); }

/* Supply pages preserve one-to-many links while keeping the three stage edges aligned. */
.supply-filters a,.supply-type-filters a { font-size: var(--chain-copy); line-height: 1.8; padding: 7px 10px; }
.supply-filters small,.supply-type-filters small { font-size: var(--chain-meta); }
.supply-reading { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--chain-gap); padding: 14px 30px; font-size: var(--chain-copy); line-height: 1.8; color: var(--chain-ink); }
.supply-reading b { font-weight: 600; }
.supply-record { grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--chain-gap); padding: 16px; align-items: stretch; }
.supply-record>.supply-destinations { grid-column: 2 / 4; }
.supply-record>header { padding: 14px; background: #f9fbf5; border: 1px solid var(--chain-border); border-radius: 2px; }
.supply-record>header>small,.supply-destinations small { display: block; margin: 0 0 6px; font-size: var(--chain-meta); font-weight: 400; line-height: 1.7; color: var(--chain-muted); }
.supply-record h2,.supply-destinations b { display: block; margin: 0; font-size: var(--chain-title); font-weight: 600; line-height: 1.75; color: var(--chain-ink); overflow-wrap: anywhere; }
.supply-record-count { margin: 8px 0; font-size: var(--chain-meta); line-height: 1.8; color: var(--chain-muted); }
.supply-record-tags { gap: 6px; margin: 10px 0 12px; }
.supply-record-tags span { font-size: var(--chain-meta); line-height: 1.65; padding: 3px 6px; }
.supply-record>header .button { padding: 0; border: 0; background: transparent; font-size: var(--chain-meta); line-height: 1.8; text-align: left; }
.supply-destinations { gap: 10px; }
.supply-destinations>button { position: relative; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; gap: var(--chain-gap); padding: 0; border: 0; background: transparent; color: var(--chain-ink); }
.supply-destinations>button>span { display: block; min-width: 0; padding: 14px; background: #f9fbf5; border: 1px solid var(--chain-border); border-radius: 2px; }
.supply-destinations>button:hover { background: transparent; }
.supply-destinations>button:hover>span { border-color: #92aa7e; background: #f0f5e8; }
.supply-destinations em { display: block; font-size: var(--chain-meta); line-height: 1.8; color: var(--chain-muted); margin-top: 8px; }
.supply-destinations>button>i { position: absolute; bottom: 8px; right: 8px; font-size: 12px; }
.supply-destinations>button>span:last-of-type { padding-bottom: 25px; }
.supply-detail-intro { font-size: var(--chain-copy)!important; color: var(--chain-muted)!important; }
.supply-observation b,.supply-observation p,.supply-checks { font-size: var(--chain-copy); }
.dialog-top p,.detail-block .source-links a,.supply-inline-link { font-size: var(--chain-meta); line-height: 1.8; }
.detail-block h3 { font-size: var(--chain-title); line-height: 1.7; }
dialog { width: min(720px,100%); max-width: 100%; }
html:has(dialog[open]) { overflow: hidden; }

@media(max-width:760px) {
  .atlas-lanes { grid-template-columns: 1fr; gap: 24px; }
  .stage-head { min-height: 0; padding-bottom: 10px; }
  .atlas-metal-title { align-items: center; gap: 7px 12px; }
  .atlas-metal-title>span { width: 100%; order: 3; }
  .role-caption { padding-top: 12px; }
  .path-headings,.supply-reading { display: none; }
  .path-row { grid-template-columns: 1fr; gap: 14px; padding: 14px; }
  .path-source { padding-bottom: 12px; }
  .path-demand { padding-top: 12px; }
  .path-product em { display: block; margin: 6px 0 0; }
  .atlas-family.product-node>summary>span { max-width: 110px; }
  .supply-record { grid-template-columns: 1fr; padding: 12px; gap: 12px; }
  .supply-record>.supply-destinations { grid-column: auto; }
  .supply-destinations>button { grid-template-columns: 1fr; gap: 0; }
  .supply-destinations>button>span { grid-column: auto; }
  .supply-destinations>button>span:nth-child(2) { padding: 14px 14px 25px; margin: 0; border: 1px solid var(--chain-border); border-top: 0; }
  .supply-destinations>button>i { grid-row: auto; grid-column: auto; }
}
@media print { .atlas-lanes,.path-row { grid-template-columns: repeat(3,minmax(0,1fr)); } }
