/* wire-incoming-message-footer-lock-303f1h9159f */

/*
 * Final messaging geometry owner:
 *
 * article
 *   canonical avatar | message stack
 *
 * message stack
 *   message bubble
 *   action footer
 *
 * The stack is explicitly flex-column so no historical grid/order rule can
 * place Reply / React / Copy over the message bubble.
 */

.message-thread
.direct-message[data-message-id]
> .wire-message-stack-303f1h9159b{
  display:flex!important;
  flex-direction:column!important;
  flex-wrap:nowrap!important;

  grid-template-columns:none!important;
  grid-template-rows:none!important;
  grid-auto-columns:auto!important;
  grid-auto-rows:auto!important;

  align-items:flex-start!important;
  justify-content:flex-start!important;

  width:fit-content!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;

  margin:0!important;
  padding:0!important;

  position:relative!important;
  inset:auto!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}

.message-thread
.direct-message:not(.own)[data-message-id]
> .wire-message-stack-303f1h9159b{
  align-items:flex-start!important;
  max-width:min(76%,560px)!important;
}

.message-thread
.direct-message.own[data-message-id]
> .wire-message-stack-303f1h9159b{
  align-items:flex-end!important;
  max-width:min(76%,560px)!important;
  margin-left:auto!important;
}

/* Bubble always comes first and owns its full natural size. */
.message-thread
.direct-message[data-message-id]
> .wire-message-stack-303f1h9159b
> .message-bubble{
  order:1!important;
  flex:0 0 auto!important;

  position:relative!important;
  inset:auto!important;

  width:fit-content!important;
  min-width:0!important;
  max-width:100%!important;

  height:auto!important;
  min-height:0!important;

  margin:0!important;
  padding-top:9px!important;

  transform:none!important;
  float:none!important;
  clear:none!important;
  box-sizing:border-box!important;
}

/*
 * Footer always comes after the bubble in normal flow.
 * These declarations intentionally override every prior messaging action owner.
 */
.message-thread
.direct-message[data-message-id]
> .wire-message-stack-303f1h9159b
> .wire-message-actions-303f1h680a{
  order:2!important;
  flex:0 0 20px!important;

  position:static!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;

  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;

  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  height:20px!important;
  min-height:20px!important;
  max-height:20px!important;

  margin:3px 0 0!important;
  padding:0!important;
  gap:3px!important;

  background:transparent!important;
  border:0!important;
  box-shadow:none!important;

  opacity:.78!important;
  visibility:visible!important;
  pointer-events:auto!important;

  transform:none!important;
  translate:none!important;
  scale:none!important;
  float:none!important;
  clear:none!important;
  overflow:visible!important;

  box-sizing:border-box!important;
}

.message-thread
.direct-message:not(.own)[data-message-id]
> .wire-message-stack-303f1h9159b
> .wire-message-actions-303f1h680a{
  align-self:flex-start!important;
  justify-content:flex-start!important;
  justify-self:auto!important;
}

.message-thread
.direct-message.own[data-message-id]
> .wire-message-stack-303f1h9159b
> .wire-message-actions-303f1h680a{
  align-self:flex-end!important;
  justify-content:flex-end!important;
  justify-self:auto!important;
}

/* Compact quiet footer controls. */
.message-thread
.direct-message[data-message-id]
> .wire-message-stack-303f1h9159b
> .wire-message-actions-303f1h680a
> button,
.message-thread
.direct-message[data-message-id]
> .wire-message-stack-303f1h9159b
> .wire-message-actions-303f1h680a
form > button,
.message-thread
.direct-message[data-message-id]
> .wire-message-stack-303f1h9159b
> .wire-message-actions-303f1h680a
[data-wire-message-delete]{
  appearance:none!important;

  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;

  width:auto!important;
  min-width:0!important;
  height:20px!important;
  min-height:20px!important;
  max-height:20px!important;

  margin:0!important;
  padding:0 5px!important;

  border:0!important;
  border-radius:5px!important;

  background:transparent!important;
  box-shadow:none!important;

  color:#7f96a8!important;
  font-size:9px!important;
  font-weight:750!important;
  line-height:20px!important;
  white-space:nowrap!important;

  transform:none!important;
  text-decoration:none!important;
}

/* Sender-only delete remains subtly destructive. */
.message-thread
.direct-message[data-message-id]
> .wire-message-stack-303f1h9159b
> .wire-message-actions-303f1h680a
[data-wire-message-delete]{
  color:#aa777d!important;
}

/*
 * Canonical h9159e avatar remains in column 1. Its 23px bottom offset equals
 * footer height + gap, so its bottom remains aligned to the message bubble.
 */
.message-thread
.direct-message:not(.own)[data-message-id]
> .wire-message-avatar-303f1h9159e{
  align-self:end!important;
  margin-bottom:23px!important;
}

/* Prevent any action control from becoming part of the bubble through old rules. */
.message-thread
.direct-message[data-message-id]
.message-footer-locked-303f1h9159f
.message-footer-locked-303f1h9159f{
  /* specificity hook only */
}

@media(max-width:980px){
  .message-thread
  .direct-message[data-message-id]
  > .wire-message-stack-303f1h9159b{
    max-width:84%!important;
  }

  .message-thread
  .direct-message:not(.own)[data-message-id]
  > .wire-message-avatar-303f1h9159e{
    margin-bottom:25px!important;
  }
}

@media(max-width:680px){
  .message-thread
  .direct-message[data-message-id]
  > .wire-message-stack-303f1h9159b{
    max-width:86%!important;
  }

  .message-thread
  .direct-message[data-message-id]
  > .wire-message-stack-303f1h9159b
  > .wire-message-actions-303f1h680a{
    height:22px!important;
    min-height:22px!important;
    max-height:22px!important;
    flex-basis:22px!important;
  }

  .message-thread
  .direct-message[data-message-id]
  > .wire-message-stack-303f1h9159b
  > .wire-message-actions-303f1h680a
  > button,
  .message-thread
  .direct-message[data-message-id]
  > .wire-message-stack-303f1h9159b
  > .wire-message-actions-303f1h680a
  form > button,
  .message-thread
  .direct-message[data-message-id]
  > .wire-message-stack-303f1h9159b
  > .wire-message-actions-303f1h680a
  [data-wire-message-delete]{
    height:22px!important;
    min-height:22px!important;
    max-height:22px!important;
    line-height:22px!important;
  }
}