.idsa-u-m0 {
  margin: 0 !important;
}

.idsa-u-mb2 {
  margin-bottom: var(--idsa-space-2, 8px) !important;
}

.idsa-u-mb3 {
  margin-bottom: var(--idsa-space-3, 12px) !important;
}

.idsa-u-mb4 {
  margin-bottom: var(--idsa-space-4, 16px) !important;
}

.idsa-u-mt2 {
  margin-top: var(--idsa-space-2, 8px) !important;
}

.idsa-u-mt3 {
  margin-top: var(--idsa-space-3, 12px) !important;
}

.idsa-u-p2 {
  padding: var(--idsa-space-2, 8px) !important;
}

.idsa-u-p3 {
  padding: var(--idsa-space-3, 12px) !important;
}

.idsa-u-p4 {
  padding: var(--idsa-space-4, 16px) !important;
}

.idsa-u-text-muted {
  color: var(--idsa-text-muted, #607590) !important;
}

.idsa-u-text-right {
  text-align: right !important;
}

.idsa-u-flex {
  display: flex !important;
}

.idsa-u-flex-wrap {
  flex-wrap: wrap !important;
}

.idsa-u-gap2 {
  gap: var(--idsa-space-2, 8px) !important;
}

.idsa-u-gap3 {
  gap: var(--idsa-space-3, 12px) !important;
}

.idsa-u-grid {
  display: grid !important;
}

.idsa-u-w-full {
  width: 100% !important;
}

.idsa-u-minw-0 {
  min-width: 0 !important;
}

.idsa-u-overflow-x-auto {
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch !important;
}

.idsa-u-table-fixed {
  table-layout: fixed !important;
}

.idsa-u-nowrap {
  white-space: nowrap !important;
}

.idsa-u-breakword {
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

.idsa-u-alert-stack > * + * {
  margin-top: var(--idsa-space-2, 8px) !important;
}

.idsa-u-btn-stack {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: var(--idsa-space-2, 8px) !important;
}

.idsa-u-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.idsa-u-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.idsa-u-span-all {
  grid-column: 1 / -1 !important;
}

.idsa-u-hidden {
  display: none !important;
}

@media (max-width: 767px) {
  .idsa-u-grid-2,
  .idsa-u-grid-3 {
    grid-template-columns: 1fr !important;
  }

  .idsa-u-text-right-mobile-left {
    text-align: left !important;
  }

  .idsa-u-stack-mobile > * {
    width: 100% !important;
  }

  .idsa-u-hidden-mobile {
    display: none !important;
  }
}

/* Unified shell utility helpers (additive) */
.idsa-u-shell-pad {
  padding: var(--idsa-space-4, 16px) !important;
}

.idsa-u-shell-pad-sm {
  padding: var(--idsa-space-3, 12px) !important;
}

.idsa-u-shell-mx {
  margin-left: auto !important;
  margin-right: auto !important;
}

.idsa-u-shell-gap4 {
  gap: var(--idsa-space-4, 16px) !important;
}

.idsa-u-action-wrap {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: var(--idsa-space-2, 8px) !important;
}

.idsa-u-chip-wrap {
  display: inline-flex !important;
  flex-wrap: wrap !important;
  gap: var(--idsa-space-2, 8px) !important;
}

.idsa-u-crosspanel {
  text-decoration-thickness: from-font;
}

.idsa-u-scroll-row {
  display: flex !important;
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  gap: var(--idsa-space-2, 8px) !important;
  white-space: nowrap !important;
  -webkit-overflow-scrolling: touch !important;
}

.idsa-u-scroll-row > * {
  flex: 0 0 auto !important;
}

.idsa-u-scroll-focus:focus-visible {
  outline: 2px solid var(--idsa-state-info, #0d5db8) !important;
  outline-offset: 2px !important;
}

.idsa-u-autosave-stack {
  display: grid !important;
  gap: var(--idsa-space-2, 8px) !important;
  margin-bottom: var(--idsa-space-3, 12px) !important;
}

.idsa-u-autosave-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: var(--idsa-space-2, 8px) !important;
}

@media (max-width: 767px) {
  .idsa-u-shell-pad {
    padding: var(--idsa-space-3, 12px) !important;
  }

  .idsa-u-shell-pad-sm {
    padding: var(--idsa-space-2, 8px) !important;
  }

  .idsa-u-autosave-actions > * {
    flex: 1 1 48% !important;
  }
}
