/* Editorial reading rules: prose left, short hierarchy labels centered,
   comparable quantities right. Shared by program, prototype and handbook. */
@media screen {
  #document-content .document-section :is(p,li,dd,td),
  .app-shell .view :is(p,li,dd,td),
  .shell main :is(p,li,dd,td) {
    text-align: left;
    text-align-last: auto;
    text-justify: auto;
    overflow-wrap: break-word;
  }
  #document-content .section-head p,
  #document-content .program-intro,
  .app-shell .page-heading p,
  .shell main section > p { max-width: 78ch; }
  #document-content :is(.detail-body,.program-note,.section-head) p,
  .app-shell .view p { line-height: 1.7; }
  #document-content :is(.detail-body,.process-map) p + p { margin-top: .8em; }
  #document-content .section-head { margin-bottom: 24px; }
  #document-content :is(.master-leader,.master-supervisor),
  #document-content .master-functions a,
  #document-content .network-plan-hub > :is(span,strong),
  #document-content .jd-report-line,
  #document-content #leadership-flow-map .network-plan-card > :is(span,strong) {
    text-align: center;
    text-align-last: auto;
    text-wrap: balance;
  }
  #document-content .network-plan-hub > p {
    max-width: 72ch;
    margin-inline: auto;
  }
  #document-content :is(h1,h2,h3,h4),
  .app-shell :is(h1,h2,h3),
  .shell main :is(h1,h2,h3) { text-wrap: balance; }
  #document-content :is(.summary-title,.point-fields dd,.map-responsibilities dd),
  .app-shell :is(th,summary),
  .shell main :is(th,summary) { text-align: left; text-align-last: auto; }
  #document-content .abbreviation-explanation,
  .app-shell .abbreviation-explanation { font-size: .9em; }
  /* Numeric columns only; labels and mixed units remain descriptive. */
  #scope-table :is(th,td):nth-child(n+4),
  #simulation table :is(th,td):nth-child(n+2),
  .calculation-lines dd,
  .numeric-cell { text-align: right; font-variant-numeric: tabular-nums; }
  .map-numbering-guide { max-width: 72ch; }
}
/* Justify only long, free-standing reading paragraphs on wide screens.
   Cards, instructions, lists and mobile copy retain natural word spacing. */
@media screen and (min-width: 1100px) {
  #document-content .document-section > .wrap > p.reading-prose {
    text-align: justify;
    text-align-last: left;
    max-width: 78ch;
  }
}
@media screen and (max-width: 700px) {
  #document-content .document-section :is(p,li,dd),
  .app-shell .view :is(p,li,dd),
  .shell main :is(p,li,dd) { text-align: left; text-align-last: auto; }
  /* Tables become labelled records on phones. */
  #scope-table :is(th,td):nth-child(n+4),
  #simulation table :is(th,td):nth-child(n+2),
  .numeric-cell { text-align: left; }
  #document-content .section-head { margin-bottom: 20px; }
}
@media print {
  p,li,dd { text-align: left; text-align-last: auto; }
  .numeric-cell { text-align: right; font-variant-numeric: tabular-nums; }
}
/* Wrapped stand-alone links retain one continuous click target. */
.detail-body p > a:only-child { display: inline-block; }
/* Three distinct SPV areas in the contents; raw materials stay within Warehouse. */
.spv-sidebar-group a { display: block; }
.spv-sidebar-group a strong { display: block; font-size: 13px; line-height: 1.5; }
.spv-sidebar-group a small { display: block; margin-top: 3px; font-size: 11px; line-height: 1.5; opacity: .82; }
.warehouse-material-detail { margin-top: 28px; scroll-margin-top: 150px; }
/* Supporting links follow their parent section in the document's reading order. */
.sidebar .nav-subtopics { margin: 2px 0 8px 15px; padding-left: 8px; border-left: 1px solid #ffffff26; }
.sidebar .nav-subtopics a { font-size: 12px; line-height: 1.5; padding: 7px 10px; }
.bulk-boundary > strong { display: block; margin-bottom: 10px; }
.bulk-boundary ul { margin: 0; padding-left: 20px; }
.bulk-boundary li + li { margin-top: 8px; }
.bulk-boundary p { margin-bottom: 0; }
#bulk-scope-boundary { scroll-margin-top: 190px; }
