/* =========================================================
   ADMIN V2
   SUPPORT MESSAGES
   ========================================================= */

.admin-messages-loading {
  margin: 0;
  color: var(--admin-text-soft);
}


.admin-messages-flash {
  margin-bottom: 16px;
  padding: 12px 15px;

  border:
    1px solid #bfe5cf;

  border-radius: 10px;

  background: #edf9f2;
  color: #176a41;

  font-size: 12px;
  font-weight: 800;
}


.admin-messages-intro {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 20px;

  margin-bottom: 18px;
  padding: 20px 22px;

  border:
    1px solid var(--admin-border);

  border-radius:
    var(--admin-radius);

  background:
    var(--admin-surface);

  box-shadow:
    var(--admin-shadow);
}


.admin-messages-intro h2 {
  margin:
    0 0 6px;

  font-size: 19px;
}


.admin-messages-intro p {
  max-width: 760px;

  margin: 0;

  color:
    var(--admin-text-soft);

  font-size: 12px;
  line-height: 1.55;
}


.admin-messages-eyebrow {
  display: block;

  margin-bottom: 6px;

  color:
    var(--admin-accent);

  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.12em;
}


.admin-messages-total {
  flex: 0 0 auto;

  padding: 6px 10px;

  border:
    1px solid var(--admin-border);

  border-radius: 999px;

  background:
    var(--admin-surface-soft);

  color:
    var(--admin-text-soft);

  font-size: 10px;
  font-weight: 800;
}


.admin-messages-total--unread {
  border-color:
    #efb9ca;

  background:
    #fff0f5;

  color:
    var(--admin-accent-dark);
}


.admin-messages-summary {
  display: grid;

  grid-template-columns:
    repeat(4, minmax(0, 1fr));

  gap: 12px;

  margin-bottom: 18px;
}


.admin-messages-stat {
  padding: 16px;

  border:
    1px solid var(--admin-border);

  border-radius: 12px;

  background:
    var(--admin-surface);

  box-shadow:
    var(--admin-shadow);
}


.admin-messages-stat strong {
  display: block;

  margin-bottom: 4px;

  font-size: 22px;
}


.admin-messages-stat span {
  color:
    var(--admin-text-soft);

  font-size: 11px;
}


.admin-messages-workspace {
  display: grid;

  grid-template-columns:
    minmax(260px, 340px)
    minmax(0, 1fr);

  min-height: 640px;

  overflow: hidden;

  border:
    1px solid var(--admin-border);

  border-radius:
    var(--admin-radius);

  background:
    var(--admin-surface);

  box-shadow:
    var(--admin-shadow);
}


.admin-messages-sidebar {
  min-width: 0;

  border-right:
    1px solid var(--admin-border);

  background:
    var(--admin-surface-soft);
}


.admin-messages-sidebar-heading {
  padding:
    18px 16px 12px;
}


.admin-messages-sidebar-heading h2 {
  margin:
    0 0 4px;

  font-size: 15px;
}


.admin-messages-sidebar-heading p {
  margin: 0;

  color:
    var(--admin-text-soft);

  font-size: 10px;
}


.admin-messages-filters {
  display: grid;

  gap: 8px;

  padding:
    0 12px 12px;
}


.admin-messages-filters input,
.admin-messages-filters select {
  box-sizing: border-box;

  width: 100%;

  padding:
    9px 10px;

  border:
    1px solid var(--admin-border);

  border-radius: 8px;

  background:
    #ffffff;

  color:
    var(--admin-text);

  font: inherit;
  font-size: 11px;
}


.admin-messages-thread-list {
  display: grid;

  gap: 2px;

  max-height: 760px;

  overflow-y: auto;

  padding:
    0 8px 12px;
}


.admin-messages-thread {
  display: grid;

  gap: 7px;

  width: 100%;

  padding:
    11px 10px;

  border: 0;

  border-radius: 9px;

  background:
    transparent;

  color:
    var(--admin-text);

  text-align: left;

  cursor: pointer;
}


.admin-messages-thread:hover {
  background:
    #fff7fa;
}


.admin-messages-thread.is-active {
  background:
    #f8eaf0;

  box-shadow:
    inset 3px 0 0
    var(--admin-accent);
}


.admin-messages-thread-top,
.admin-messages-thread-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 8px;
}


.admin-messages-thread-top strong {
  min-width: 0;

  overflow: hidden;

  font-size: 11px;

  text-overflow:
    ellipsis;

  white-space:
    nowrap;
}


.admin-messages-thread-bottom small {
  color:
    var(--admin-text-soft);

  font-size: 9px;
}


.admin-messages-status {
  flex: 0 0 auto;

  padding:
    3px 6px;

  border-radius:
    999px;

  font-size: 8px;
  font-weight: 900;
}


.admin-messages-status--open {
  background:
    #fff2e3;

  color:
    #86500b;
}


.admin-messages-status--resolved {
  background:
    #e9f8ef;

  color:
    #197446;
}


.admin-messages-unread {
  display: inline-grid;
  place-items: center;

  min-width: 20px;
  height: 20px;

  padding:
    0 5px;

  border-radius:
    999px;

  background:
    var(--admin-accent);

  color:
    #ffffff;

  font-size: 9px;
  font-weight: 900;
}


.admin-messages-detail {
  min-width: 0;

  background:
    #ffffff;
}


.admin-messages-detail-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;

  gap: 16px;

  padding:
    18px 20px;

  border-bottom:
    1px solid var(--admin-border);
}


.admin-messages-detail-header h2 {
  margin:
    2px 0 5px;

  font-size: 18px;
}


.admin-messages-detail-header p {
  margin: 0;

  color:
    var(--admin-text-soft);

  font-size: 10px;
}


.admin-messages-detail-eyebrow {
  color:
    var(--admin-accent);

  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.1em;
}


.admin-messages-header-badges {
  display: flex;
  align-items: center;

  gap: 6px;
}


.admin-messages-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;

  gap: 8px;

  padding:
    10px 20px;

  border-bottom:
    1px solid var(--admin-border);

  background:
    var(--admin-surface-soft);
}


.admin-messages-conversation {
  padding:
    18px 20px;

  border-bottom:
    1px solid var(--admin-border);

  background:
    #fcfafb;
}


.admin-messages-older {
  display: block;

  margin:
    0 auto 16px;
}


.admin-messages-message-list {
  display: grid;

  gap: 10px;
}


.admin-messages-message {
  width:
    min(78%, 720px);

  padding:
    11px 13px;

  border-radius: 12px;

  box-shadow:
    0 1px 3px
    rgba(20, 12, 18, 0.05);
}


.admin-messages-message--user {
  justify-self:
    start;

  border:
    1px solid var(--admin-border);

  background:
    #ffffff;
}


.admin-messages-message--staff {
  justify-self:
    end;

  border:
    1px solid #edc7d6;

  background:
    #fff0f6;
}


.admin-messages-message-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 10px;

  margin-bottom: 6px;
}


.admin-messages-message-meta strong {
  font-size: 10px;
}


.admin-messages-message-meta time {
  color:
    var(--admin-text-soft);

  font-size: 8px;
}


.admin-messages-message p {
  margin: 0;

  white-space:
    pre-wrap;

  overflow-wrap:
    anywhere;

  font-size: 11px;
  line-height: 1.55;
}


.admin-messages-reply {
  padding:
    18px 20px;
}


.admin-messages-reply h3 {
  margin:
    0 0 10px;

  font-size: 14px;
}


.admin-messages-reply-form {
  display: grid;

  gap: 9px;
}


.admin-messages-reply textarea {
  box-sizing: border-box;

  width: 100%;
  min-height: 120px;

  resize: vertical;

  padding:
    11px 12px;

  border:
    1px solid var(--admin-border);

  border-radius: 10px;

  background:
    #ffffff;

  color:
    var(--admin-text);

  font: inherit;
  font-size: 12px;
}


.admin-messages-reply textarea:focus {
  outline:
    2px solid
    rgba(215, 40, 111, 0.14);

  border-color:
    var(--admin-accent);
}


.admin-messages-feedback {
  min-height: 17px;

  margin: 0;

  color:
    #9d2841;

  font-size: 10px;
}


.admin-messages-reply-form
.admin-button {
  justify-self: end;
}


.admin-messages-readonly,
.admin-messages-empty {
  margin: 0;

  color:
    var(--admin-text-soft);

  font-size: 10px;
}


.admin-messages-empty-panel {
  margin: 20px;

  padding: 20px;

  border:
    1px dashed var(--admin-border);

  border-radius: 10px;

  color:
    var(--admin-text-soft);

  font-size: 11px;
}


@media (max-width: 1000px) {
  .admin-messages-summary {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .admin-messages-workspace {
    grid-template-columns:
      1fr;
  }

  .admin-messages-sidebar {
    border-right: 0;

    border-bottom:
      1px solid var(--admin-border);
  }

  .admin-messages-thread-list {
    max-height: 320px;
  }
}


@media (max-width: 720px) {
  .admin-messages-intro {
    align-items:
      flex-start;

    flex-direction:
      column;
  }

  .admin-messages-summary {
    grid-template-columns:
      1fr;
  }

  .admin-messages-detail-header {
    flex-direction:
      column;
  }

  .admin-messages-message {
    width: 92%;
  }
}