    .upstream-hero {
      border: 1px solid #cddce7;
      border-radius: 10px;
      background: linear-gradient(135deg, #eef5f9 0%, #f8fafb 100%);
      padding: 12px 14px;
      margin-bottom: 10px;
    }

    .upstream-hero h3 { margin: 0 0 5px; font-size: 15px; line-height: 1.4; }
    .upstream-hero p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }

    .upstream-flow {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 10px;
      align-items: stretch;
    }

    .upstream-node {
      border: 1px solid var(--line);
      border-radius: 9px;
      background: var(--surface);
      padding: 12px;
      display: grid;
      grid-template-rows: auto 1fr auto;
      gap: 10px;
      min-width: 0;
    }

    .upstream-node:last-child { border-color: #b9d2df; background: #f5fafc; }
    .upstream-node-heading { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px; align-items: start; min-height: 72px; }
    .upstream-stage-index {
      display: inline-grid;
      place-items: center;
      width: 24px;
      height: 24px;
      border-radius: 6px;
      background: #eaf2f6;
      color: #476b80;
      font-size: 11px;
      font-weight: 780;
    }
    .upstream-node h4 { margin: 1px 0 4px; font-size: 13px; line-height: 1.35; }
    .upstream-node p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.4; }
    .upstream-node-primary { display: grid; align-content: start; }
    .upstream-node-primary .metric,
    .upstream-node-detail {
      min-height: 34px;
      padding: 6px 0;
      border-bottom: 1px solid var(--line-soft);
      display: flex;
      justify-content: space-between;
      gap: 8px;
      align-items: baseline;
      color: var(--muted);
      font-size: 11px;
      line-height: 1.35;
    }
    .upstream-node-primary strong { color: var(--ink); font-size: 16px; line-height: 1.15; white-space: nowrap; }
    .upstream-node-primary span { color: var(--muted); font-size: 11px; }
    .upstream-node-details { display: grid; align-content: end; }
    .upstream-balance {
      margin-top: 7px;
      border-left: 2px solid #9bbccc;
      background: #f3f7f9;
      padding: 7px 8px;
      color: #4e6472;
      font-size: 11px;
      line-height: 1.4;
    }

    .upstream-node-detail:last-child { border-bottom: 0; padding-bottom: 0; }
    .upstream-node-detail strong { color: var(--ink); white-space: nowrap; }

    .upstream-transitions {
      margin-top: 10px;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
    }
    .upstream-transition {
      border: 1px solid var(--line-soft);
      border-radius: 8px;
      background: var(--surface-soft);
      padding: 8px 10px;
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      gap: 8px;
      align-items: center;
      color: var(--muted);
      font-size: 11px;
      line-height: 1.4;
    }
    .upstream-transition-arrow { color: var(--blue); font-size: 18px; font-weight: 800; }
    .upstream-transition strong { display: block; color: var(--ink); font-size: 12px; }
    .upstream-transition span { display: block; margin-top: 2px; }

/* Preserve the approved page geometry while reusing the bilingual shell. */
body #app{display:block}body #app>main{margin-left:56px;padding:30px 3vw 48px;max-width:none}
body #app.sidebar-pinned>main{margin-left:240px}
body #app .page-title-accessible{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);margin:0}
#research-body{display:block}body #research-body>.annual{border:0;border-radius:0;background:transparent;padding:0;margin:0 0 26px}
#research-body>.monthly{margin:0}body #annual-frame-host{padding-bottom:26px}
#design-workbench .panel{border:0;padding:0;margin:0;background:#fff}
#design-workbench .panel-head{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:27px 0 0;margin:0 0 12px}
#design-workbench .panel-head h3{font-size:15px;margin:0;line-height:1.7;font-weight:650}
#design-workbench .panel-head p{font-size:12px;margin:0;line-height:1.7;color:var(--muted)}
#design-workbench .upstream-hero{padding:12px 14px;margin-bottom:10px}
#design-workbench .upstream-route-split{display:grid;margin-top:14px}
#design-workbench .upstream-route-split h4{margin:0 0 6px}#design-workbench .upstream-route-split p{margin:0 0 12px}
#design-workbench .upstream-conversion-note{font-size:12px;color:var(--muted);margin:8px 0 0}
#design-workbench .upstream-node-primary>.metric{border:1px solid var(--line-soft)}
#design-workbench .upstream-node:first-child .metric,#design-workbench .upstream-node:last-child .metric{display:block}
#design-workbench .upstream-node:first-child .metric strong,#design-workbench .upstream-node:last-child .metric strong{display:table;margin-top:5px}
body .language-control{position:absolute;right:3vw;top:7px;z-index:5}
body #chain .stage{min-width:0}
body .evidence-disclosures{max-width:100%}
body .detail-heading h2{overflow-wrap:anywhere}
html[lang=en] #design-workbench .upstream-node-primary .metric{flex-wrap:wrap}
html[lang=en] #design-workbench .upstream-node-primary strong{white-space:normal}
html[lang=en] #design-workbench .upstream-node-detail{flex-wrap:wrap}
html[lang=en] #chain .stage-total{min-height:180px}
@media(max-width:1040px){body #app>main,body #app.sidebar-pinned>main{margin-left:56px;padding:24px 18px}body #design-workbench .upstream-flow{grid-template-columns:repeat(2,minmax(0,1fr))}body #chain .stage-total{min-height:0}}
@media(max-width:650px){body #app>main{padding:18px 14px}body #design-workbench .upstream-flow,body #design-workbench .upstream-transitions{grid-template-columns:minmax(0,1fr)}body .section-heading{display:block}body .section-heading .window-scope{display:block;margin-top:8px}body .language-control{position:static;display:flex;justify-content:flex-end;margin:0 0 12px}body #design-workbench .upstream-node{min-height:0}body .e2-comparison{padding:14px}body .table-wrap{overflow-x:auto}body #design-workbench .table-wrap>table{min-width:620px}}

/* Match the formal desktop reading grid; shared language option A occupies the header corner. */

body .annual>.section-heading{padding-right:145px}
#design-workbench .panel-head{padding-top:44px}
#design-workbench .upstream-flow{grid-template-columns:repeat(4,minmax(0,1fr))}
#design-workbench .upstream-node{min-height:390px;padding:14px}
#design-workbench .upstream-hero{border:0;border-radius:0}
#design-workbench .upstream-transitions{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1040px){#design-workbench .upstream-flow{grid-template-columns:repeat(2,minmax(0,1fr))}body #app>main,body #app.sidebar-pinned>main{margin-left:0}}
@media(max-width:650px){#design-workbench .upstream-flow,#design-workbench .upstream-transitions{grid-template-columns:minmax(0,1fr)}body .annual>.section-heading{padding-right:0}#design-workbench .upstream-node{min-height:0}}
#design-workbench .upstream-node-detail{flex-wrap:wrap;gap:4px 10px}
#design-workbench .upstream-route-split table{width:100%;border-collapse:collapse}
#design-workbench .upstream-route-split td{padding:1px}
#design-workbench .upstream-route-split th{padding:1px}
#design-workbench .upstream-route-split td,#design-workbench .upstream-route-split th{border:0;text-align:left}
#design-workbench .upstream-route-split .table-wrap{border:0}
body .annual>.section-heading{padding-bottom:6px}
#design-workbench .upstream-method-fold .upstream-model-references{display:flex;gap:16px;flex-wrap:wrap}

/* Supplemental controls share the annual window footer; no empty host gutter. */
body #annual-frame-host{padding-bottom:0}
body #PV-03-01>.auxiliary-group{margin-top:0}

/* Long English labels wrap before the value exceeds a monthly-stage column. */
body #battery-stage .model-reference>b{white-space:normal}
