/* Remaining payment panel inside the current invoice. Uses the shared theme tokens; no transitions or animation. */
.partial-payment { border-top: 1px solid hsl(var(--border)); margin-top: 20px; padding-top: 16px; }
.partial-payment h3 { font-size: 15px; font-weight: 600; margin: 0 0 8px; }
.partial-payment h3:focus-visible, .partial-payment-instructions:focus-visible { outline: 2px solid hsl(var(--ring)); outline-offset: 2px; }
.partial-payment .facts { margin: 12px 0; }
.partial-payment .facts dd small { display: block; font-size: 12px; color: hsl(var(--muted-foreground)); }
.partial-payment-remaining { font-weight: 600; }
.partial-payment-wait { font-weight: 550; }
.partial-payment-limit { font-size: 12px; color: hsl(var(--muted-foreground)); }
.partial-payment-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 12px 0 0; }
.partial-payment-instructions { margin: 12px 0; }
.partial-payment-instructions code { display: block; margin: 6px 0 0; overflow-wrap: anywhere; user-select: all; font-size: 14px; }
.partial-payment-synthetic { font-weight: 700; letter-spacing: .02em; margin: 0 0 6px; }
.partial-payment-expiry { font-variant-numeric: tabular-nums; }
.partial-payment button:focus-visible, .partial-payment input:focus-visible { outline: 2px solid hsl(var(--ring)); outline-offset: 2px; }
@media (max-width: 640px) {
  .partial-payment button { min-height: 44px; width: 100%; }
  .partial-payment .check { min-height: 44px; align-items: center; }
  .partial-payment .check input { width: 20px; height: 20px; }
}
@media (prefers-reduced-motion: reduce) { .partial-payment * { transition: none; animation: none; } }
