.credits-overview {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--color-rule);
  background: var(--color-surface);
}

.credits-overview > div {
  min-width: 0;
  padding: var(--space-md);
  border-right: 1px solid var(--color-rule);
}

.credits-overview > div:last-child { border-right: 0; }
.credits-overview span,
.credits-overview small { display: block; color: var(--color-text-muted); }
.credits-overview strong { display: block; margin: var(--space-xs) 0; font-size: 1.5rem; }

.credits-tabs { margin: var(--space-lg) 0 var(--space-md); }
.credits-panel[hidden] { display: none; }

.credit-package-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: var(--space-sm);
}

.credit-package {
  display: flex;
  min-height: 13rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-sm);
  padding: var(--space-md);
  border: 1px solid var(--color-rule);
  background: var(--color-surface);
}

.credit-package h3 { margin: 0; font-size: 1rem; }
.credit-package p { margin: 0; color: var(--color-text-muted); }
.credit-package .package-price { font-size: 1.4rem; color: var(--color-text); }
.credit-package .button { margin-top: auto; }

.credits-empty { margin: 0; padding: var(--space-lg); color: var(--color-text-muted); }
.credits-status { min-height: 1.5rem; margin: var(--space-sm) 0 0; }
.credits-status.error-text { color: var(--color-danger); }
.credits-status.success-text { color: var(--color-success); }

.commerce-dialog { width: min(56rem, calc(100vw - 2rem)); border: 1px solid var(--color-rule); padding: 0; }
.commerce-dialog::backdrop { background: rgba(16, 24, 40, 0.46); }
.commerce-dialog-body { padding: var(--space-lg); }
.checkout-layout { display: grid; grid-template-columns: minmax(14rem, 0.85fr) minmax(18rem, 1.15fr); gap: var(--space-lg); }
.checkout-summary { border-right: 1px solid var(--color-rule); padding-right: var(--space-lg); }
.checkout-summary dl { display: grid; grid-template-columns: 1fr auto; gap: var(--space-sm); margin: 0; }
.checkout-summary dt { color: var(--color-text-muted); }
.checkout-summary dd { margin: 0; font-weight: 600; text-align: right; }

.payment-channel-choice { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-sm); margin: var(--space-md) 0; }
.payment-channel-choice label { display: flex; min-height: 3.5rem; align-items: center; gap: var(--space-xs); border: 1px solid var(--color-rule); padding: var(--space-sm); cursor: pointer; }
.payment-channel-choice input { accent-color: var(--color-accent); }

.qr-payment-box { display: grid; min-height: 18rem; place-items: center; border: 1px solid var(--color-rule); padding: var(--space-md); text-align: center; }
.qr-payment-box canvas,
.qr-payment-box img { width: min(15rem, 100%); height: auto; image-rendering: pixelated; }
.qr-payment-box p { margin: var(--space-sm) 0 0; color: var(--color-text-muted); }
.payment-order-meta { margin-top: var(--space-sm); color: var(--color-text-muted); font-size: 0.875rem; overflow-wrap: anywhere; }
.payment-result { margin-top: var(--space-md); }

.provider-settings-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); gap: var(--space-sm); }
.provider-settings-card { border: 1px solid var(--color-rule); padding: var(--space-md); background: var(--color-surface); }
.provider-settings-card h3 { margin: 0 0 var(--space-sm); font-size: 1rem; }
.provider-settings-card .field + .field { margin-top: var(--space-sm); }
.provider-settings-card .provider-state { min-height: 1.5rem; color: var(--color-text-muted); }
.provider-settings-card .provider-fingerprint { color: var(--color-text-muted); font-family: var(--font-mono, monospace); font-size: 0.8rem; }
.provider-settings-card .button { margin-top: var(--space-md); }
.provider-settings-card .secret-textarea:not(.is-revealed) {
  color: transparent;
  caret-color: var(--color-text);
  text-shadow: none;
}
.provider-settings-card .secret-reveal {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  margin-top: var(--space-sm);
  color: var(--color-text-muted);
  font-size: 0.82rem;
}
.provider-settings-card .secret-reveal input { inline-size: 1rem; block-size: 1rem; }
.provider-settings-card .provider-key-set {
  min-width: 0;
  margin: var(--space-sm) 0 0;
  border: 1px solid var(--color-rule);
  padding: var(--space-sm);
}
.provider-settings-card .provider-key-set legend {
  padding: 0 var(--space-xs);
  color: var(--color-text-muted);
  font-size: 0.82rem;
}
.provider-settings-card .provider-key-item {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: var(--space-xs);
  font-family: var(--font-mono, monospace);
  font-size: 0.78rem;
  overflow-wrap: anywhere;
}
.provider-settings-card .provider-key-item + .provider-key-item { margin-top: var(--space-xs); }
.provider-settings-card .provider-key-item input { flex: 0 0 1rem; inline-size: 1rem; block-size: 1rem; }
.commerce-admin-form { margin-bottom: var(--space-lg); }
.commerce-admin-grid,
.commerce-pricing-gate { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-sm); }
.commerce-admin-grid .span-2,
.commerce-pricing-gate .span-2 { grid-column: span 2; }
.commerce-channel-field { min-width: 0; margin: 0; border: 1px solid var(--color-rule); padding: var(--space-sm); }
.commerce-channel-field legend { padding: 0 var(--space-xs); color: var(--color-text-muted); }
.commerce-channel-field label { display: inline-flex; align-items: center; gap: var(--space-xs); margin-right: var(--space-md); }
.commerce-admin-actions { display: flex; justify-content: flex-end; margin-top: var(--space-sm); }
.commerce-pricing-gate { align-items: end; margin-top: var(--space-md); padding-top: var(--space-md); border-top: 1px solid var(--color-rule); }
.commerce-pricing-gate .button { min-height: 2.75rem; }
.commerce-admin-table td:last-child { width: 6rem; }
.receipt-dialog { width: min(42rem, calc(100vw - 2rem)); }
.receipt-sheet { background: #fff; color: #172033; }
.receipt-heading { padding-bottom: var(--space-md); border-bottom: 2px solid #172033; }
.receipt-heading span,
.receipt-heading small { display: block; color: #5d6678; }
.receipt-heading h2 { margin: var(--space-xs) 0; font-size: 1.35rem; }
.receipt-facts { display: grid; grid-template-columns: minmax(8rem, 0.4fr) minmax(0, 1fr); gap: var(--space-sm) var(--space-md); margin: var(--space-lg) 0; }
.receipt-facts dt { color: #5d6678; }
.receipt-facts dd { margin: 0; overflow-wrap: anywhere; }
.receipt-verification { padding-top: var(--space-md); border-top: 1px solid #ccd1da; }
.receipt-verification span,
.receipt-verification code { display: block; }
.receipt-verification code { margin-top: var(--space-xs); overflow-wrap: anywhere; font-size: 0.75rem; }
.receipt-actions { padding: 0 var(--space-lg) var(--space-lg); }

@media (max-width: 48rem) {
  .credits-overview { grid-template-columns: 1fr; }
  .credits-overview > div { border-right: 0; border-bottom: 1px solid var(--color-rule); }
  .credits-overview > div:last-child { border-bottom: 0; }
  .checkout-layout { grid-template-columns: minmax(0, 1fr); }
  .checkout-summary { border-right: 0; border-bottom: 1px solid var(--color-rule); padding: 0 0 var(--space-lg); }
  .commerce-admin-grid,
  .commerce-pricing-gate { grid-template-columns: minmax(0, 1fr); }
  .commerce-admin-grid .span-2,
  .commerce-pricing-gate .span-2 { grid-column: auto; }
}

@media print {
  body > *:not(#orderReceiptDialog) { display: none !important; }
  #orderReceiptDialog[open] { display: block; position: static; width: 100%; max-width: none; margin: 0; border: 0; box-shadow: none; }
  #orderReceiptDialog .dialog-header,
  #orderReceiptDialog .receipt-actions { display: none !important; }
  #orderReceiptDialog .commerce-dialog-body { padding: 0; }
}
