.topup-tool { margin-top: 8px; }
.topup-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; margin-top:28px; }
.topup-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:20px; }
.topup-error { margin:14px 0 0; padding:11px 13px; border-left:3px solid #a43d3d; background:#fff0f0; color:#7b2929; font-weight:750; }
.topup-results { margin-top:30px; padding-top:24px; border-top:1px solid var(--line); }
.topup-results .results-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.topup-results .result-value { font-size:clamp(1.15rem,2.3vw,1.55rem); }
.topup-results .coverage-note { margin:18px 0 0; padding:13px 15px; border-left:3px solid var(--green); background:#f5faf7; color:var(--ink); }
.source-list { padding-left:22px; }
.source-list li + li { margin-top:8px; }
.content-section ol { color:var(--muted); padding-left:22px; }
.content-section ol li + li { margin-top:8px; }
.depth-figure { margin:24px 0 4px; }
.depth-figure img { display:block; width:100%; height:auto; border:1px solid var(--line); border-radius:12px; background:#f7f5ed; }
.depth-figure figcaption { margin-top:8px; color:var(--muted); font-size:.82rem; }

@media (max-width: 780px) {
  .topup-grid { grid-template-columns:1fr 1fr; }
  .topup-results .results-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 520px) {
  .topup-grid, .topup-results .results-grid { grid-template-columns:1fr; }
  .topup-actions .button { width:100%; }
}
