.iv-cols { display: grid; gap: 16px; }
@media (min-width: 860px) { .iv-cols { grid-template-columns: 1fr 1fr; } }
.iv-box { border: 1px solid var(--line); border-radius: 12px; padding: 12px 16px 4px; margin: 0; min-width: 0; }
.iv-box legend { font-weight: 700; padding: 0 6px; color: var(--ink); }
.iv-head, .iv-row { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, .8fr) minmax(0, 1.1fr) minmax(0, 1.1fr) 36px; gap: 8px; align-items: center; }
.iv-head { font-size: .8rem; font-weight: 600; color: var(--muted, #6b7785); margin-bottom: 6px; }
.iv-head span:nth-child(4) { text-align: right; }
.iv-rows { display: grid; gap: 8px; margin-bottom: 10px; }
.iv-amt { text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; }
@media (max-width: 560px) {
  .iv-head, .iv-row { grid-template-columns: 1fr 1fr 1fr 36px; }
  .iv-head span:first-child { display: none; }
  .iv-row { padding-bottom: 8px; border-bottom: 1px dashed var(--line); }
  .iv-row [data-k=d] { grid-column: 1 / -1; }
}
.iv-bottom { display: grid; gap: 16px; margin-top: 18px; }
@media (min-width: 860px) { .iv-bottom { grid-template-columns: 1fr 1fr; } }
.iv-sum { display: grid; grid-template-columns: 1fr auto; gap: 6px 16px; margin: 8px 0 0; padding: 12px 16px; border-radius: 12px; background: var(--bg-soft); font-variant-numeric: tabular-nums; }
.iv-sum dt { color: var(--ink-2); } .iv-sum dd { margin: 0; text-align: right; }
.iv-sum .total { font-weight: 800; font-size: 1.15rem; color: var(--ink); border-top: 1px solid var(--line); padding-top: 6px; }
