.position-report-body {
  margin: 0;
  color: #182117;
  background: #f6f7f5;
  font: 16px/1.5 system-ui, sans-serif;
}
.position-report-body > main { max-width: 68rem; margin: 0 auto; padding: clamp(1rem, 5vw, 3rem); }
.position-report { display: grid; gap: 1rem; }
.position-report-header > * { margin: 0 0 .35rem; overflow-wrap: anywhere; }
.position-report-header h1 { font-size: clamp(1.5rem, 4vw, 2.4rem); line-height: 1.15; }
.position-report-charts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr)); gap: 1rem; }
.position-report-panel { min-width: 0; padding: 1rem; background: #fff; border: 1px solid #dce3d8; border-radius: .75rem; }
.position-report-panel h2, .position-report-panel summary { margin: 0 0 .7rem; font-size: 1.15rem; font-weight: 650; }
.position-report-panel p { margin: .75rem 0 0; color: #4a5848; }
.position-report-chart { display: block; width: 100%; background: #f2f5ef; border-radius: .3rem; }
.position-report-chart line { stroke: #2a653b; stroke-width: 2; vector-effect: non-scaling-stroke; }
.position-report-chart circle { fill: #2a653b; }
.position-report-table { overflow: auto; max-height: 26rem; }
.position-report-table table { width: 100%; border-collapse: collapse; }
.position-report-table th, .position-report-table td { border-bottom: 1px solid #e8ebe6; padding: .5rem; text-align: left; white-space: nowrap; }
.position-report-table tbody th { min-width: 9rem; white-space: normal; overflow-wrap: anywhere; }
.position-report-table thead { position: sticky; top: 0; background: #f2f5ef; }
.position-report-owner .position-report { margin-block: 1rem; }
.position-report-owner summary { cursor: pointer; }
.position-report-owner input[data-position-report-url] { width: 100%; }
