/* UI-r9: unified action-bar guard for cards and modal action rows.
   Scope: layout/density only. No business logic, no route/API changes. */
:root{
  --ui-action-bar-gap: var(--space-2, 8px);
  --ui-action-bar-pad: var(--space-2, 8px);
  --ui-action-bar-btn-min: var(--ui-btn-h-md, 44px);
}

.ui-action-bar,
.mo-card-actions,
.part-card-v2-actions,
.part-details-actions,
.cmodal-actions,
.mx-actions,
.mx-actions--core,
.mx-row-actions,
.mx-process-actions,
.msng-chat-hd-actions,
.msng-quick-actions,
.msng-loyalty-actions,
.msng-media-viewer__actions,
.msng-attach-preview-actions,
.admin-quick-actions,
.admin-master-card-actions,
.admin-card__actions,
.nc-footer,
.master-card__footer{
  box-sizing:border-box;
  min-width:0;
  max-width:100%;
  width:100%;
  display:flex;
  align-items:center;
  gap:var(--ui-action-bar-gap);
  flex-wrap:wrap;
  overflow:visible;
}

.ui-action-bar > *,
.mo-card-actions > *,
.part-card-v2-actions > *,
.part-details-actions > *,
.cmodal-actions > *,
.mx-actions > *,
.mx-actions--core > *,
.mx-row-actions > *,
.mx-process-actions > *,
.msng-chat-hd-actions > *,
.msng-quick-actions > *,
.msng-loyalty-actions > *,
.msng-media-viewer__actions > *,
.msng-attach-preview-actions > *,
.admin-master-card-actions > *,
.admin-card__actions > *,
.nc-footer > *,
.master-card__footer > *{
  min-width:0;
  max-width:100%;
}

.ui-action-bar .btn,
.ui-action-bar button,
.ui-action-bar a,
.mo-card-actions .btn,
.mo-card-actions button,
.mo-card-actions a,
.part-card-v2-actions .btn,
.part-card-v2-actions button,
.part-card-v2-actions a,
.part-details-actions .btn,
.part-details-actions button,
.part-details-actions a,
.cmodal-actions .btn,
.cmodal-actions button,
.cmodal-actions a,
.mx-actions .btn,
.mx-actions button,
.mx-actions a,
.mx-actions--core .btn,
.mx-actions--core button,
.mx-actions--core a,
.mx-row-actions .btn,
.mx-row-actions button,
.mx-row-actions a,
.mx-process-actions .btn,
.mx-process-actions button,
.mx-process-actions a,
.msng-chat-hd-actions .btn,
.msng-chat-hd-actions button,
.msng-chat-hd-actions a,
.msng-quick-actions .btn,
.msng-quick-actions button,
.msng-quick-actions a,
.msng-loyalty-actions .btn,
.msng-loyalty-actions button,
.msng-loyalty-actions a,
.msng-media-viewer__actions .btn,
.msng-media-viewer__actions button,
.msng-media-viewer__actions a,
.msng-attach-preview-actions .btn,
.msng-attach-preview-actions button,
.msng-attach-preview-actions a,
.admin-master-card-actions .btn,
.admin-master-card-actions button,
.admin-master-card-actions a,
.admin-card__actions .btn,
.admin-card__actions button,
.admin-card__actions a,
.nc-footer .btn,
.nc-footer button,
.nc-footer a,
.master-card__footer .btn,
.master-card__footer button,
.master-card__footer a{
  box-sizing:border-box;
  min-width:0;
  min-height:var(--ui-action-bar-btn-min);
  max-width:100%;
  border-radius:var(--ui-radius-btn, 10px);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Modal action rows: one visual modal card, action bar stays structural. */
.cmodal-actions,
.msng-media-viewer__actions,
.msng-attach-preview-actions{
  justify-content:flex-end;
  padding-top:var(--space-2, 8px);
}

/* Card actions: no extra surface. */
.mo-card-actions,
.part-card-v2-actions,
.part-details-actions,
.admin-master-card-actions,
.master-card__footer,
.nc-footer{
  background:transparent;
  border:0;
  box-shadow:none;
}

/* Master exchange rows had historical min-width values; keep them responsive. */
.mx-row-actions,
.mx-row-actions.mx-actions--core,
.mx-card .mx-actions--core,
.mx-row .mx-actions--core{
  min-width:0 !important;
  width:100%;
}

@media (max-width:640px){
  .ui-action-bar,
  .mo-card-actions,
  .part-card-v2-actions,
  .part-details-actions,
  .cmodal-actions,
  .mx-actions,
  .mx-actions--core,
  .mx-row-actions,
  .mx-process-actions,
  .msng-quick-actions,
  .msng-loyalty-actions,
  .msng-media-viewer__actions,
  .msng-attach-preview-actions,
  .admin-master-card-actions,
  .admin-card__actions,
  .nc-footer,
  .master-card__footer{
    gap:var(--space-2, 8px);
    align-items:stretch;
  }

  .mo-card-actions .btn,
  .mo-card-actions button,
  .mo-card-actions a,
  .part-card-v2-actions .btn,
  .part-card-v2-actions button,
  .part-card-v2-actions a,
  .part-details-actions .btn,
  .part-details-actions button,
  .part-details-actions a,
  .cmodal-actions .btn,
  .cmodal-actions button,
  .cmodal-actions a,
  .mx-actions .btn,
  .mx-actions button,
  .mx-actions a,
  .mx-actions--core .btn,
  .mx-actions--core button,
  .mx-actions--core a,
  .mx-row-actions .btn,
  .mx-row-actions button,
  .mx-row-actions a,
  .mx-process-actions .btn,
  .mx-process-actions button,
  .mx-process-actions a,
  .msng-quick-actions .btn,
  .msng-quick-actions button,
  .msng-quick-actions a,
  .msng-loyalty-actions .btn,
  .msng-loyalty-actions button,
  .msng-loyalty-actions a,
  .msng-media-viewer__actions .btn,
  .msng-media-viewer__actions button,
  .msng-media-viewer__actions a,
  .msng-attach-preview-actions .btn,
  .msng-attach-preview-actions button,
  .msng-attach-preview-actions a,
  .admin-master-card-actions .btn,
  .admin-master-card-actions button,
  .admin-master-card-actions a,
  .admin-card__actions .btn,
  .admin-card__actions button,
  .admin-card__actions a,
  .nc-footer .btn,
  .nc-footer button,
  .nc-footer a,
  .master-card__footer .btn,
  .master-card__footer button,
  .master-card__footer a{
    flex:1 1 calc(50% - var(--space-2, 8px));
    width:auto;
    min-width:0 !important;
    justify-content:center;
    font-size:clamp(12px, 3.25vw, 14px);
    padding-inline:var(--space-2, 8px);
  }

  .cmodal-actions .btn,
  .cmodal-actions button,
  .cmodal-actions a,
  .part-details-actions .btn,
  .part-details-actions button,
  .part-details-actions a,
  .msng-media-viewer__actions .btn,
  .msng-media-viewer__actions button,
  .msng-media-viewer__actions a{
    flex-basis:100%;
  }

  .msng-chat-hd-actions{
    width:auto;
    flex:0 0 auto;
    gap:var(--space-1, 4px);
  }

  .msng-chat-hd-actions .btn,
  .msng-chat-hd-actions button,
  .msng-chat-hd-actions a{
    flex:0 0 var(--ui-touch-target, 44px);
    width:var(--ui-touch-target, 44px);
    min-width:var(--ui-touch-target, 44px) !important;
    padding-inline:0;
  }

  .admin-quick-actions{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:var(--space-2, 8px);
    min-width:0;
    max-width:100%;
  }

  .admin-quick-actions > *{
    min-width:0;
    max-width:100%;
  }
}

@media (max-width:380px){
  .mo-card-actions .btn,
  .mo-card-actions button,
  .mo-card-actions a,
  .part-card-v2-actions .btn,
  .part-card-v2-actions button,
  .part-card-v2-actions a,
  .mx-actions .btn,
  .mx-actions button,
  .mx-actions a,
  .mx-actions--core .btn,
  .mx-actions--core button,
  .mx-actions--core a,
  .mx-row-actions .btn,
  .mx-row-actions button,
  .mx-row-actions a,
  .admin-master-card-actions .btn,
  .admin-master-card-actions button,
  .admin-master-card-actions a,
  .admin-card__actions .btn,
  .admin-card__actions button,
  .admin-card__actions a,
  .nc-footer .btn,
  .nc-footer button,
  .nc-footer a,
  .master-card__footer .btn,
  .master-card__footer button,
  .master-card__footer a{
    flex-basis:100%;
  }
}
