/* Keep clickable-control icons independent from the theme's legacy baseline offsets. */
:is(
  button,
  button.btn,
  a.btn,
  .icon-left,
  .icon-right,
  .icon,
  .btn-icon,
  .btn-table,
  .entity-list__action-button,
  .dropdown-item,
  .comunication-page button,
  .comunication-list-editor button,
  .event-lp-qr-button
):not(:where(
  .sidebar-wrapper *,
  .sidebar-control-button,
  .sidebar-menu-group-toggle,
  .nav-tabs *,
  .nav-pills *,
  .nav-link,
  .tab-link-icon-text,
  [role="tab"]
)) > :is(i, svg) {
  align-self: center;
  flex: 0 0 auto;
  line-height: 1;
  margin-bottom: 0 !important;
  margin-top: 0 !important;
  vertical-align: middle;
}

:is(
  button,
  button.btn,
  a.btn,
  .icon-left,
  .icon-right,
  .icon,
  .btn-icon,
  .btn-table,
  .entity-list__action-button,
  .dropdown-item,
  .comunication-page button,
  .comunication-list-editor button,
  .event-lp-qr-button
):not(:where(
  .sidebar-wrapper *,
  .sidebar-control-button,
  .sidebar-menu-group-toggle,
  .nav-tabs *,
  .nav-pills *,
  .nav-link,
  .tab-link-icon-text,
  [role="tab"]
)) > i.bi {
  align-items: center;
  display: inline-flex;
  justify-content: center;
}

:is(
  button,
  button.btn,
  a.btn,
  .icon-left,
  .icon-right,
  .icon,
  .btn-icon,
  .btn-table,
  .entity-list__action-button,
  .dropdown-item,
  .comunication-page button,
  .comunication-list-editor button,
  .event-lp-qr-button
):not(:where(
  .sidebar-wrapper *,
  .sidebar-control-button,
  .sidebar-menu-group-toggle,
  .nav-tabs *,
  .nav-pills *,
  .nav-link,
  .tab-link-icon-text,
  [role="tab"]
)) > i.bi::before {
  display: block;
  line-height: 1;
  vertical-align: 0;
}

/* Repeated classes keep these layout rules above the minified dark theme. */
button:not(:where(
  .sidebar-wrapper *,
  .sidebar-control-button,
  .sidebar-menu-group-toggle,
  .nav-tabs *,
  .nav-pills *,
  .nav-link,
  .tab-link-icon-text,
  [role="tab"]
)):has(> :is(i.bi.bi, svg)),
:is(
  button.btn.btn,
  a.btn.btn,
  .icon-left.icon-left,
  .icon-right.icon-right,
  .icon.icon,
  .btn-icon.btn-icon,
  .btn-table.btn-table,
  .entity-list__action-button.entity-list__action-button
):not(:where(
  .sidebar-wrapper *,
  .sidebar-control-button,
  .sidebar-menu-group-toggle,
  .nav-tabs *,
  .nav-pills *,
  .nav-link,
  .tab-link-icon-text,
  [role="tab"]
)):has(> :is(i, svg)) {
  align-items: center;
  display: inline-flex;
}

button:not(:where(
  .sidebar-wrapper *,
  .sidebar-control-button,
  .sidebar-menu-group-toggle,
  .nav-tabs *,
  .nav-pills *,
  .nav-link,
  .tab-link-icon-text,
  [role="tab"]
)):has(> :is(i.bi.bi, svg)),
:is(
  button.btn.btn,
  a.btn.btn,
  .icon.icon,
  .btn-icon.btn-icon,
  .btn-table.btn-table,
  .entity-list__action-button.entity-list__action-button
):not(:where(
  .sidebar-wrapper *,
  .sidebar-control-button,
  .sidebar-menu-group-toggle,
  .nav-tabs *,
  .nav-pills *,
  .nav-link,
  .tab-link-icon-text,
  [role="tab"]
)):has(> :is(i, svg)) {
  justify-content: center;
}

:is(.icon-left.icon-left, .icon-right.icon-right):not(:where(
  .sidebar-wrapper *,
  .sidebar-control-button,
  .sidebar-menu-group-toggle,
  .nav-tabs *,
  .nav-pills *,
  .nav-link,
  .tab-link-icon-text,
  [role="tab"]
)):has(> :is(i, svg)) {
  column-gap: 0.375rem;
}

:is(.icon-left, .icon-right):not(:where(
  .sidebar-wrapper *,
  .sidebar-control-button,
  .sidebar-menu-group-toggle,
  .nav-tabs *,
  .nav-pills *,
  .nav-link,
  .tab-link-icon-text,
  [role="tab"]
)) > :is(i, svg) {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.dropdown-item.dropdown-item.dropdown-item:not(:where(
  .sidebar-wrapper *,
  .sidebar-control-button,
  .sidebar-menu-group-toggle,
  .nav-tabs *,
  .nav-pills *,
  .nav-link,
  .tab-link-icon-text,
  [role="tab"]
)):has(> :is(i, svg)) {
  align-items: center;
  column-gap: 0.375rem;
  display: flex;
  justify-content: flex-start;
  text-align: left;
}

.dropdown-item.dropdown-item.dropdown-item:not(:where(
  .sidebar-wrapper *,
  .sidebar-control-button,
  .sidebar-menu-group-toggle,
  .nav-tabs *,
  .nav-pills *,
  .nav-link,
  .tab-link-icon-text,
  [role="tab"]
)) > :is(i, svg) {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
