    .ds-confirm-message {
      margin: 0;
      font-size: var(--ds-text-body);
      line-height: 1.5;
      color: var(--ds-text-secondary);
    }
    .ds-btn--danger {
      background: var(--ds-amount-negative);
      color: #fff;
    }
    .ds-btn--danger:hover { filter: brightness(0.95); }
    .ds-modal-header {
      position: relative;
      padding: var(--ds-space-5) var(--ds-space-6) var(--ds-space-3);
    }
    .ds-modal-step {
      margin: 0 0 var(--ds-space-1);
      font-size: var(--ds-text-caption);
      font-weight: var(--ds-weight-medium);
      color: var(--ds-text-muted);
      letter-spacing: 0.01em;
    }
    .ds-modal-subtitle {
      margin: var(--ds-space-2) 0 0;
      font-size: var(--ds-text-body);
      line-height: 1.5;
      color: var(--ds-text-secondary);
      max-width: 36rem;
    }
    .ds-modal-meta {
      margin: var(--ds-space-1) 0 0;
      font-size: var(--ds-text-caption);
      color: var(--ds-text-muted);
      min-height: 1.25rem;
    }
    .ds-modal-meta--saving,
    .ds-modal-meta--saved { color: var(--ds-text-muted); }
    .ds-modal-meta--error { color: var(--ds-amount-negative); }
    .ds-alert {
      margin: 0;
      padding: var(--ds-space-3) var(--ds-space-4);
      border-radius: var(--ds-radius-md);
      font-size: var(--ds-text-caption);
      color: var(--ds-amount-negative);
      background: rgb(var(--ds-amount-negative-rgb) / 0.06);
      border: 1px solid rgb(var(--ds-amount-negative-rgb) / 0.2);
    }
    /* Hollow banners when text cleared but .hidden briefly missing or overridden */
    .ds-alert:empty,
    .ds-save-status:empty {
      display: none !important;
      padding: 0;
      margin: 0;
      border: 0;
      background: transparent;
      min-height: 0;
    }
    .ds-save-status {
      margin: 0;
      padding: var(--ds-space-2) var(--ds-space-3);
      font-size: var(--ds-text-caption);
      color: var(--ds-text-secondary);
      border-radius: var(--ds-radius-md);
      background: var(--ds-surface-section);
      border: 1px solid var(--ds-border-subtle);
    }
    .ds-save-status--pending { color: var(--ds-text-muted); }
    .ds-save-status--success {
      color: var(--ds-brand-hero);
      background: color-mix(in srgb, var(--ds-brand-hero) 8%, var(--ds-surface));
      border-color: color-mix(in srgb, var(--ds-brand-hero) 28%, var(--ds-border));
    }
    .ds-btn:disabled {
      opacity: 0.55;
      cursor: not-allowed;
    }
    .ds-inline-actions {
      display: flex;
      flex-wrap: wrap;
      gap: var(--ds-space-2);
      margin-top: var(--ds-space-3);
    }
