@import url("/static/css/friend-notice-empty-20260821.css?v=20260821-empty2");

@font-face {
  font-family: "layui-list-icons";
  src: url("/static/vendor/layui-v2.13.9/layui/font/iconfont.woff2?v=293") format("woff2");
  font-display: swap;
}

/* Conversation list */
uni-page[data-page="pages/chat/index"] uni-page-body {
  background: #f3f5f8 !important;
}

uni-page[data-page="pages/chat/index"] .chat-home-header {
  padding: 15px 14px 13px !important;
  box-shadow: 0 7px 18px rgba(31,87,173,.10) !important;
}

uni-page[data-page="pages/chat/index"] .chat-search-wrap {
  height: 45px !important;
  margin-top: 11px !important;
  border: 1px solid rgba(255,255,255,.48) !important;
  border-radius: 13px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 4px 12px rgba(27,76,154,.08) !important;
}

uni-page[data-page="pages/chat/index"] .uni-list {
  overflow: hidden !important;
  margin-top: 10px !important;
  border-top: 1px solid #e7ebf0 !important;
  border-bottom: 1px solid #e7ebf0 !important;
  background: #fff !important;
}

uni-page[data-page="pages/chat/index"] .uni-list-cell {
  background: #fff !important;
}

uni-page[data-page="pages/chat/index"] .uni-media-list {
  min-height: 76px !important;
  padding: 12px 16px !important;
  box-sizing: border-box !important;
  border-bottom: 1px solid #edf0f4 !important;
  transition: background-color .15s ease !important;
}

uni-page[data-page="pages/chat/index"] .uni-list-cell:last-child .uni-media-list {
  border-bottom: 0 !important;
}

uni-page[data-page="pages/chat/index"] .uni-media-list:active {
  background: #f5f8fc !important;
}

uni-page[data-page="pages/chat/index"] .uni-media-list-logo,
uni-page[data-page="pages/chat/index"] .uni-media-list-logo uni-image,
uni-page[data-page="pages/chat/index"] .uni-media-list-logo uni-image > div,
uni-page[data-page="pages/chat/index"] .uni-media-list-logo img {
  width: 50px !important;
  height: 50px !important;
  border-radius: 12px !important;
}

uni-page[data-page="pages/chat/index"] .uni-media-list-logo {
  flex: 0 0 50px !important;
  overflow: hidden !important;
  background: #eef2f7 !important;
  box-shadow: inset 0 0 0 1px rgba(50,65,86,.06) !important;
}

uni-page[data-page="pages/chat/index"] .uni-media-list-logo img {
  display: block !important;
  object-fit: cover !important;
}

uni-page[data-page="pages/chat/index"] .uni-media-list-body {
  min-width: 0 !important;
  padding-left: 13px !important;
}

uni-page[data-page="pages/chat/index"] .conversation-head {
  min-height: 23px !important;
  margin-bottom: 3px !important;
  align-items: center !important;
}

uni-page[data-page="pages/chat/index"] .conversation-name {
  overflow: hidden !important;
  color: #d94848 !important;
  font-size: 16px !important;
  font-weight: 650 !important;
  line-height: 22px !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

uni-page[data-page="pages/chat/index"] .conversation-time {
  flex: 0 0 auto !important;
  margin-left: 10px !important;
  color: #8e98a7 !important;
  font-size: 12px !important;
  line-height: 20px !important;
}

uni-page[data-page="pages/chat/index"] .uni-media-list-text-bottom {
  color: #6f7b8c !important;
  font-size: 13px !important;
  line-height: 20px !important;
}

uni-page[data-page="pages/chat/index"] .conversation-vip-badge {
  transform: translateY(-1px) !important;
}

/* Contacts */
uni-page[data-page="pages/friend/index"] uni-page-body,
uni-page[data-page="pages/friend/index"] .contact-body {
  background: #f3f5f8 !important;
}

uni-page[data-page="pages/friend/index"] .contact-home-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 80 !important;
  padding: 15px 14px 13px !important;
  box-shadow: 0 7px 18px rgba(31,87,173,.10) !important;
}

uni-page[data-page="pages/friend/index"] .contact-search-wrap {
  height: 45px !important;
  margin-top: 11px !important;
  border: 1px solid rgba(255,255,255,.48) !important;
  border-radius: 13px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 4px 12px rgba(27,76,154,.08) !important;
}

uni-page[data-page="pages/friend/index"] .contact-body > .scrollList .uni-list {
  background: transparent !important;
}

uni-page[data-page="pages/friend/index"] .contact-shortcut {
  min-height: 68px !important;
  padding: 9px 16px !important;
  background: #fff !important;
  border-bottom: 1px solid #edf0f4 !important;
}

uni-page[data-page="pages/friend/index"] .contact-shortcut .uni-media-list-logo {
  position: relative !important;
  width: 46px !important;
  height: 46px !important;
  flex: 0 0 46px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border: 1px solid #e0e9f5 !important;
  border-radius: 12px !important;
  background: #f1f6fd !important;
  color: #3479dd !important;
  box-shadow: none !important;
}

uni-page[data-page="pages/friend/index"] .contact-shortcut .uni-media-list-logo uni-image {
  display: none !important;
}

uni-page[data-page="pages/friend/index"] .contact-shortcut .uni-media-list-logo::before {
  font-family: "layui-list-icons" !important;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}

uni-page[data-page="pages/friend/index"] .contact-shortcut[data-shortcut="friend"] .uni-media-list-logo::before { content: "\e612"; }
uni-page[data-page="pages/friend/index"] .contact-shortcut[data-shortcut="group"] .uni-media-list-logo::before { content: "\e613"; }
uni-page[data-page="pages/friend/index"] .contact-shortcut[data-shortcut="notice"] .uni-media-list-logo::before { content: "\e667"; }
uni-page[data-page="pages/friend/index"] .contact-shortcut[data-shortcut="enterprise"] .uni-media-list-logo::before { content: "\e7ae"; }

uni-page[data-page="pages/friend/index"] .contact-shortcut .uni-media-list-body {
  min-width: 0 !important;
  padding-left: 13px !important;
}

uni-page[data-page="pages/friend/index"] .contact-shortcut .uni-list-cell-navigate {
  min-height: auto !important;
  color: #252b34 !important;
  font-size: 15px !important;
  font-weight: 620 !important;
  line-height: 21px !important;
}

.contact-shortcut-note {
  display: block;
  overflow: hidden;
  margin-top: 2px;
  color: #929ba8;
  font-size: 12px;
  line-height: 17px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

uni-page[data-page="pages/friend/index"] .uni-list-cell-divider {
  scroll-margin-top: 142px !important;
  height: 32px !important;
  padding: 8px 16px 5px !important;
  box-sizing: border-box !important;
  background: #f3f5f8 !important;
  color: #7f8a99 !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 19px !important;
}

uni-page[data-page="pages/friend/index"] .uni-list-cell .uni-media-list {
  min-height: 64px !important;
  padding: 9px 16px !important;
  background: #fff !important;
  border-bottom: 1px solid #edf0f4 !important;
}

uni-page[data-page="pages/friend/index"] .uni-list-cell .uni-media-list-logo,
uni-page[data-page="pages/friend/index"] .uni-list-cell .uni-media-list-logo uni-image,
uni-page[data-page="pages/friend/index"] .uni-list-cell .uni-media-list-logo uni-image > div,
uni-page[data-page="pages/friend/index"] .uni-list-cell .uni-media-list-logo img {
  width: 46px !important;
  height: 46px !important;
  border-radius: 12px !important;
}

uni-page[data-page="pages/friend/index"] .uni-list-cell .uni-media-list-logo {
  flex: 0 0 46px !important;
  overflow: hidden !important;
  background: #eef2f7 !important;
  box-shadow: inset 0 0 0 1px rgba(50,65,86,.06) !important;
}

uni-page[data-page="pages/friend/index"] .uni-list-cell .uni-media-list-logo img {
  display: block !important;
  object-fit: cover !important;
}

uni-page[data-page="pages/friend/index"] .uni-list-cell .uni-media-list-body {
  padding-left: 13px !important;
}

uni-page[data-page="pages/friend/index"] .uni-list-cell .uni-list-cell-navigate {
  color: #272e38 !important;
  font-size: 15px !important;
  font-weight: 560 !important;
}

/* Message avatars and bubbles */
uni-page[data-page="pages/chat/message"] .other .left,
uni-page[data-page="pages/chat/message"] .other .left uni-image,
uni-page[data-page="pages/chat/message"] .other .left uni-image > div,
uni-page[data-page="pages/chat/message"] .other .left uni-image > img {
  width: 42px !important;
  height: 42px !important;
  border-radius: 11px !important;
}

uni-page[data-page="pages/chat/message"] .other .left {
  overflow: hidden !important;
  background: #eef2f7 !important;
  box-shadow: 0 3px 10px rgba(30,48,72,.08) !important;
}

uni-page[data-page="pages/chat/message"] .other .left img {
  display: block !important;
  object-fit: cover !important;
}

uni-page[data-page="pages/chat/message"] .other .bubble {
  border-radius: 14px 14px 14px 5px !important;
  box-shadow: 0 3px 12px rgba(28,46,72,.065) !important;
}

body.pages-chat-message uni-page[data-page="pages/chat/message"] .content .msg-list .row .my .right uni-image,
body.pages-chat-message uni-page[data-page="pages/chat/message"] .content .msg-list .row .other .left uni-image,
body.pages-chat-message uni-page[data-page="pages/chat/message"] .content .msg-list .row .my .right uni-image > div,
body.pages-chat-message uni-page[data-page="pages/chat/message"] .content .msg-list .row .other .left uni-image > div,
body.pages-chat-message uni-page[data-page="pages/chat/message"] .content .msg-list .row .my .right uni-image > img,
body.pages-chat-message uni-page[data-page="pages/chat/message"] .content .msg-list .row .other .left uni-image > img {
  border-radius: 11px !important;
}

uni-image[data-fixed-default-avatar="true"] > div,
uni-image[data-fixed-default-avatar="true"] > img {
  background-position: center !important;
  background-size: cover !important;
  object-fit: cover !important;
}

@media (prefers-reduced-motion: reduce) {
  uni-page[data-page="pages/chat/index"] .uni-media-list { transition: none !important; }
}

/* Chat history boundary */
body.pages-chat-message uni-page[data-page="pages/chat/message"] .content .msg-list .uni-load-more {
  width: auto !important;
  height: 28px !important;
  min-height: 28px !important;
  margin: 7px auto 11px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
}

body.pages-chat-message uni-page[data-page="pages/chat/message"] .content .msg-list .uni-load-more__img {
  display: none !important;
}

body.pages-chat-message uni-page[data-page="pages/chat/message"] .content .msg-list .uni-load-more__text {
  height: 24px !important;
  padding: 0 11px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(151,163,178,.20) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.68) !important;
  color: #8c97a6 !important;
  font-size: 0 !important;
  line-height: 22px !important;
  box-shadow: 0 2px 8px rgba(35,51,73,.035) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

body.pages-chat-message uni-page[data-page="pages/chat/message"] .content .msg-list .uni-load-more__text span {
  font-size: 0 !important;
  line-height: 1 !important;
}

body.pages-chat-message uni-page[data-page="pages/chat/message"] .content .msg-list .uni-load-more__text span::after {
  content: "以上为历史消息";
  color: #8c97a6;
  font-size: 11px;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: .02em;
}

/* Chat composer */
body.pages-chat-message uni-page[data-page="pages/chat/message"] .input-box.chat-input-modern {
  width: 100% !important;
  max-width: 480px !important;
  min-height: 64px !important;
  margin: 0 auto !important;
  padding: 9px 11px max(9px, env(safe-area-inset-bottom)) !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  box-sizing: border-box !important;
  border-top: 1px solid #e1e6ec !important;
  background: rgba(255,255,255,.98) !important;
  box-shadow: 0 -5px 18px rgba(31,48,70,.055) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

body.pages-chat-message uni-page[data-page="pages/chat/message"] .input-box.chat-input-modern .textbox {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  min-height: 42px !important;
  padding: 4px 13px !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
  border: 1px solid #dfe5ec !important;
  border-radius: 15px !important;
  background: #f6f8fa !important;
  box-shadow: inset 0 1px 2px rgba(31,48,70,.025) !important;
}

body.pages-chat-message uni-page[data-page="pages/chat/message"] .input-box.chat-input-modern .text-mode,
body.pages-chat-message uni-page[data-page="pages/chat/message"] .input-box.chat-input-modern .text-mode .box {
  width: 100% !important;
  min-height: 32px !important;
  display: flex !important;
  align-items: center !important;
}

body.pages-chat-message uni-page[data-page="pages/chat/message"] .input-box.chat-input-modern uni-textarea,
body.pages-chat-message uni-page[data-page="pages/chat/message"] .input-box.chat-input-modern .uni-textarea-wrapper,
body.pages-chat-message uni-page[data-page="pages/chat/message"] .input-box.chat-input-modern textarea {
  width: 100% !important;
  min-height: 22px !important;
  color: #27313d !important;
  font-size: 14px !important;
  line-height: 22px !important;
}

body.pages-chat-message uni-page[data-page="pages/chat/message"] .input-box.chat-input-modern .uni-textarea-placeholder {
  color: #9aa4b1 !important;
  font-size: 14px !important;
  line-height: 22px !important;
}

body.pages-chat-message uni-page[data-page="pages/chat/message"] .input-box.chat-input-modern .voice-mode {
  width: 100% !important;
  min-height: 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #4f5b69 !important;
  font-size: 14px !important;
  font-weight: 560 !important;
  line-height: 32px !important;
  letter-spacing: .02em !important;
}

body.pages-chat-message uni-page[data-page="pages/chat/message"] .input-box.chat-input-modern .voice-mode.hidden,
body.pages-chat-message uni-page[data-page="pages/chat/message"] .input-box.chat-input-modern .text-mode.hidden,
body.pages-chat-message uni-page[data-page="pages/chat/message"] .input-box.chat-input-modern .send.hidden {
  display: none !important;
}

body.pages-chat-message uni-page[data-page="pages/chat/message"] .input-box.chat-input-modern .voice-switch,
body.pages-chat-message uni-page[data-page="pages/chat/message"] .input-box.chat-input-modern .input-action,
body.pages-chat-message uni-page[data-page="pages/chat/message"] .input-box.chat-input-modern .input-more {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  flex: 0 0 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  border: 1px solid #dfe5ec !important;
  border-radius: 13px !important;
  background: #fff !important;
  color: #536174 !important;
  box-shadow: 0 3px 10px rgba(31,48,70,.055) !important;
  transition: background-color .15s ease, transform .15s ease !important;
}

body.pages-chat-message uni-page[data-page="pages/chat/message"] .input-box.chat-input-modern .voice-switch:active,
body.pages-chat-message uni-page[data-page="pages/chat/message"] .input-box.chat-input-modern .input-action:active,
body.pages-chat-message uni-page[data-page="pages/chat/message"] .input-box.chat-input-modern .input-more:active {
  transform: scale(.96);
  background: #eef3f9 !important;
}

body.pages-chat-message uni-page[data-page="pages/chat/message"] .input-box.chat-input-modern .send {
  height: 38px !important;
  min-width: 60px !important;
  padding: 0 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  border-radius: 13px !important;
  background: #347ff0 !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 38px !important;
  box-shadow: 0 5px 12px rgba(52,127,240,.20) !important;
}

@media (max-width: 360px) {
  body.pages-chat-message uni-page[data-page="pages/chat/message"] .input-box.chat-input-modern { gap: 6px !important; padding-left: 8px !important; padding-right: 8px !important; }
  body.pages-chat-message uni-page[data-page="pages/chat/message"] .input-box.chat-input-modern .voice-switch,
  body.pages-chat-message uni-page[data-page="pages/chat/message"] .input-box.chat-input-modern .input-action,
  body.pages-chat-message uni-page[data-page="pages/chat/message"] .input-box.chat-input-modern .input-more { width: 36px !important; height: 36px !important; min-width: 36px !important; flex-basis: 36px !important; }
}

/* 联系人字母索引：提供清晰的点击反馈，滚动逻辑由增强脚本处理 */
uni-page[data-page="pages/friend/index"] .uni-indexed-list-bar .uni-indexed-list-text[role="button"] {
  cursor: pointer;
  border-radius: 8px;
  transition: color 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}

uni-page[data-page="pages/friend/index"] .uni-indexed-list-bar .uni-indexed-list-text.contact-index-active {
  color: #fff !important;
  background: #3182f6;
  transform: scale(1.08);
}

uni-page[data-page="pages/friend/index"] .contact-index-scroll-spacer {
  height: calc(100vh - 180px);
  min-height: 420px;
  pointer-events: none;
  visibility: hidden;
}

/* 联系人资料卡：与联系人列表统一方形头像和信息层级 */
uni-body.pages-details-index .profile-card,
uni-page[data-page="pages/details/index"] .profile-card {
  position: relative;
  min-height: 108px;
  padding: 18px 20px !important;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 16px;
  overflow: hidden;
  border: 1px solid rgba(49, 130, 246, 0.09);
  border-radius: 18px !important;
  background: linear-gradient(135deg, #ffffff 0%, #fbfdff 68%, #f1f6ff 100%) !important;
  box-shadow: 0 10px 26px rgba(31, 67, 119, 0.08) !important;
}

uni-body.pages-details-index .profile-card::after,
uni-page[data-page="pages/details/index"] .profile-card::after {
  content: "";
  position: absolute;
  right: -24px;
  top: -38px;
  width: 112px;
  height: 112px;
  border-radius: 50%;
  background: rgba(49, 130, 246, 0.055);
  pointer-events: none;
}

uni-body.pages-details-index .profile-card img.avatar,
uni-page[data-page="pages/details/index"] .profile-card img.avatar {
  position: relative;
  z-index: 1;
  flex: 0 0 70px;
  width: 70px !important;
  height: 70px !important;
  margin: 0 !important;
  border: 3px solid #fff;
  border-radius: 17px !important;
  box-sizing: border-box;
  object-fit: cover;
  background: #edf3fb;
  box-shadow: 0 6px 15px rgba(38, 79, 133, 0.15);
}

uni-body.pages-details-index .profile-card .profile-main,
uni-page[data-page="pages/details/index"] .profile-card .profile-main {
  position: relative;
  z-index: 1;
  flex: 1;
  min-width: 0;
  margin: 0 !important;
}

uni-body.pages-details-index .profile-card .profile-top,
uni-page[data-page="pages/details/index"] .profile-card .profile-top {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}

uni-body.pages-details-index .profile-card .name,
uni-page[data-page="pages/details/index"] .profile-card .name {
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  color: #202734 !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

uni-body.pages-details-index .profile-card .contact-badge,
uni-page[data-page="pages/details/index"] .profile-card .contact-badge {
  padding: 3px 8px !important;
  border: 1px solid rgba(49, 130, 246, 0.14);
  border-radius: 999px !important;
  color: #3478db !important;
  font-size: 11px !important;
  font-weight: 600;
  line-height: 1.35;
  background: #edf5ff !important;
}

uni-body.pages-details-index .profile-card .meta,
uni-page[data-page="pages/details/index"] .profile-card .meta {
  color: #8390a3 !important;
  font-size: 12px !important;
  line-height: 1.5;
  letter-spacing: 0.15px;
}

@media (max-width: 380px) {
  uni-body.pages-details-index .profile-card,
  uni-page[data-page="pages/details/index"] .profile-card {
    min-height: 100px;
    padding: 15px 16px !important;
    gap: 13px;
  }

  uni-body.pages-details-index .profile-card img.avatar,
  uni-page[data-page="pages/details/index"] .profile-card img.avatar {
    flex-basis: 64px;
    width: 64px !important;
    height: 64px !important;
    border-radius: 15px !important;
  }
}
