.totals-mapping-guide { border: 1px solid var(--border); border-radius: 8px; display: grid; gap: .65rem; padding: .8rem; }
.totals-mapping-guide p { margin: 0; }
.totals-example { align-items: center; display: flex; flex-wrap: wrap; gap: .65rem; }
.totals-example svg { flex: 1 1 10rem; max-width: 18rem; }
.totals-example text { fill: var(--ink-muted); font: 10px sans-serif; }
.totals-example .example-page { fill: var(--surface-200); stroke: var(--border); }
.totals-example .example-row { fill: var(--surface-300); }
.totals-example .example-total rect { fill: var(--accent-primary-soft); stroke: var(--accent-primary); }
.totals-example .example-total text { fill: var(--ink); }
.totals-mapping-guide.is-playing .example-extra-row { animation: invoice-example-rows 5s infinite; }
.totals-mapping-guide.is-playing .example-total { animation: invoice-example-total 5s infinite; }
.totals-linked-fields { border-top: 1px solid var(--border); display: grid; gap: .5rem; padding-top: .65rem; }
.mapping-usage-summary { border-left: 3px solid var(--accent-secondary); display: grid; gap: .45rem; padding: .65rem; }
.mapping-usage-summary p { margin: 0; }
.mapping-divergence { color: var(--accent-warning); display: block; font-size: .72rem; grid-column: 2; }
.mapped-invoice-line .mapping-divergence { grid-column: 1; }
.following-field-chooser { border: 1px solid var(--border); border-radius: 5px; display: grid; gap: .5rem; margin: 0; max-height: 16rem; overflow: auto; padding: .65rem; }
.following-field-choice { align-items: start; display: flex; gap: .5rem; }
.following-field-choice input { flex: 0 0 auto; margin: .2rem 0 0; width: auto; }
.following-field-choice small { color: var(--ink-muted); display: block; font-size: .72rem; font-weight: 400; }
.mapping-placement-guide { align-items: center; background: var(--surface-200); border: 2px solid var(--accent-primary); border-radius: 8px; display: flex; flex-wrap: wrap; gap: .5rem; justify-content: space-between; margin-bottom: .65rem; padding: .65rem; position: sticky; top: 0; z-index: 3; }
.mapping-placement-guide[hidden] { display: none; }
.pdf-page-stage.placing-section { cursor: grab; touch-action: none; }
.pdf-page-stage.placing-section img { cursor: grab; }
.mapped-location-state { color: var(--accent-tertiary); font-size: .72rem; }
.invoice-data-field > .mapped-location-state { grid-column: 2; }
.mapped-invoice-line .invoice-data-field > .mapped-location-state { grid-column: 1; }
@keyframes invoice-example-rows { 0%, 20%, 90%, 100% { opacity: 1; } 40%, 70% { opacity: 0; } }
@keyframes invoice-example-total { 0%, 20%, 90%, 100% { transform: translateY(0); } 40%, 70% { transform: translateY(-34px); } }
@media (prefers-reduced-motion: reduce) {
  .totals-mapping-guide.is-playing .example-extra-row, .totals-mapping-guide.is-playing .example-total { animation: none; }
}
