/* Approved packet presentation, scoped away from earlier guides. */
.packet-guide .newer-aside { margin-block: 24px; padding: 16px 20px; border-left: 3px solid var(--muted); background: var(--guide-soft); font-size: 17px; line-height: 1.6; }
.packet-guide .packet-table { width: 100%; border-collapse: collapse; margin: 24px 0; font-size: 16px; line-height: 1.5; text-align: left; }
.packet-guide .packet-table th, .packet-guide .packet-table td { padding: 12px; border: 1px solid var(--muted); vertical-align: top; }
.packet-guide .packet-table thead { background: var(--guide-soft); }
.packet-guide .packet-table tbody th { font-weight: 700; }
@media (max-width: 760px) {
 .packet-guide .packet-table, .packet-guide .packet-table tbody, .packet-guide .packet-table tr, .packet-guide .packet-table th, .packet-guide .packet-table td { display: block; }
 .packet-guide .packet-table thead { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); }
 .packet-guide .packet-table tr { margin-bottom: 16px; border: 1px solid var(--muted); border-radius: var(--radius); overflow: hidden; }
 .packet-guide .packet-table th, .packet-guide .packet-table td { border: 0; }
 .packet-guide .packet-table tbody th { background: var(--guide-soft); font-size: 19px; }
 .packet-guide .packet-table td { display: grid; grid-template-columns: 1fr 1.35fr; gap: 12px; border-top: 1px solid var(--line); }
 .packet-guide .packet-table td::before { content: attr(data-label); font-weight: 700; }
}
/* Original editorial diagrams. All explanatory labels are live HTML text. */
.packet-figure {
  margin: 28px 0;
  padding: 24px;
  border: 1px solid #66736b;
  border-radius: var(--radius, 8px);
  background: #eef4ee;
  color: #17291f;
  font-size: 16px;
  line-height: 1.5;
}
.packet-figure * { box-sizing: border-box; }
.packet-figure figcaption { display: grid; gap: 8px; margin: 0 0 24px; font-size: 16px; line-height: 1.5; }
.packet-figure figcaption > strong { font: 700 23px/1.25 var(--font-display, sans-serif); letter-spacing: -.025em; }
.packet-figure p, .packet-figure li, .packet-figure dt, .packet-figure dd, .packet-figure span { font-size: 16px; line-height: 1.5; }
.packet-figure p { margin: 0; text-wrap: wrap; }
.packet-figure h3 { margin: 0 0 12px; font: 700 20px/1.35 var(--font-display, sans-serif); }
.packet-figure .packet-panels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.packet-figure .packet-panel { margin: 0; padding: 18px; border: 1px solid #66736b; border-radius: var(--radius, 8px); background: #fffefa; min-width: 0; }
.packet-figure .packet-panel > :last-child { margin-bottom: 0; }
.packet-figure .packet-metric { display: block; margin: 0 0 12px; font: 700 40px/1.15 var(--font-display, sans-serif); letter-spacing: -.035em; }
.packet-figure .packet-metric > span { display: inline-block; margin-left: .3em; font-weight: 400; letter-spacing: normal; }
.packet-figure .packet-label { display: block; margin-bottom: 8px; font-weight: 700; }
.packet-figure .packet-result { margin: 20px 0 0; padding-top: 16px; border-top: 1px solid #66736b; }
.packet-figure .packet-budget-bar { display: grid; grid-template-columns: 7fr 2fr 1fr; gap: 4px; height: 22px; margin-bottom: 16px; }
.packet-figure .packet-budget-bar > span { border: 1px solid #17291f; background: #315c45; }
.packet-figure .packet-budget-bar > span:nth-child(2) { background: #a8c8b3; }
.packet-figure .packet-budget-bar > span:nth-child(3) { background: #fffefa; }
.packet-figure .packet-budget-change { display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px; align-items: center; margin-top: 16px; padding: 16px; border: 1px solid #66736b; border-radius: var(--radius, 8px); background: #fffefa; }
.packet-figure .packet-arrow { font-size: 28px; line-height: 1; }
.packet-figure .packet-pile { position: relative; margin: 0 4px 6px 0; box-shadow: 3px 3px 0 #eef4ee, 4px 4px 0 #66736b, 7px 7px 0 #eef4ee, 8px 8px 0 #66736b; }
.packet-figure .packet-pile:first-child { border-width: 2px; }
.packet-figure .packet-flow { display: grid; gap: 16px; padding: 0; margin: 0; list-style: none; }
.packet-figure .packet-flow .packet-panel { display: grid; gap: 12px; }
.packet-figure .packet-movement { display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px; align-items: center; }
.packet-figure .packet-zone { padding: 12px; border: 1px solid #66736b; border-radius: var(--radius, 8px); background: #eef4ee; }
.packet-figure .packet-zone strong { display: block; margin-bottom: 4px; }
.packet-figure .packet-step-title { font-weight: 700; }
@media (max-width: 1080px) {
  .packet-figure .packet-panels { grid-template-columns: minmax(0, 1fr); }
  .packet-figure .packet-budget-panels .packet-panel { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; }
  .packet-figure .packet-budget-panels .packet-label, .packet-figure .packet-budget-panels .packet-metric { margin: 0; }
}
@media (max-width: 760px) {
  .packet-figure { padding: 20px 16px; margin-inline: 0; }
  .packet-figure .packet-panel { padding: 16px; }
  .packet-figure .packet-budget-change, .packet-figure .packet-movement { grid-template-columns: minmax(0, 1fr); }
  .packet-figure .packet-arrow { justify-self: center; transform: rotate(90deg); }
  .packet-figure .packet-metric { font-size: 36px; }
}
@media print {
  .packet-figure, .packet-figure .packet-panel, .packet-figure .packet-zone { background: white; color: black; }
  .packet-figure { break-inside: avoid; }
}
