/*
 * 原生桌面内部通讯：OpenIM Web 全界面视觉覆盖层。
 * 基础镜像仅提供编译产物；本文件不注入文案、不改业务状态，只重组稳定 DOM 的视觉与布局。
 */

:root {
  --codex-accent: #9f2d35;
  --codex-accent-hover: #86232a;
  --codex-accent-pressed: #711c22;
  --codex-accent-soft: #f5e9ea;
  --codex-accent-pale: #faf3f4;
  --codex-rail: #242b35;
  --codex-rail-hover: #303946;
  --codex-brass: #aeb5bf;
  --codex-ink: #20242a;
  --codex-canvas: #eef1f4;
  --codex-surface: #ffffff;
  --codex-surface-muted: #f4f6f8;
  --codex-border: #dde2e7;
  --codex-border-strong: #c8ced5;
  --codex-muted: #6f7782;
  --codex-danger: #a82126;
  --codex-success: #2f6549;
  --codex-warning: #916100;
  --codex-focus: rgba(159, 45, 53, 0.16);
  --codex-radius-sm: 6px;
  --codex-radius-md: 10px;

  --chat-bubble: #fffdfc;
  --chat-bubble-sender: #f3e4e3;
  --base-black: var(--codex-ink);
  --primary: var(--codex-accent);
  --primary-active: var(--codex-accent-soft);
  --top-search-bar: #f7f8fa;
  --sub-text: var(--codex-muted);
  --gap-text: var(--codex-border);
  --warn-text: var(--codex-danger);
  --moment-text: #556272;
}

html,
body,
#root {
  background: var(--codex-canvas);
  color: var(--codex-ink);
}

body,
button,
input,
textarea,
select,
.ant-app {
  font-family: "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC",
    "Noto Sans CJK SC", "Source Han Sans SC", Arial, sans-serif;
  font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: antialiased;
}

body {
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: 0.01em;
}

::selection {
  background: rgba(139, 29, 36, 0.18);
  color: var(--codex-ink);
}

* {
  scrollbar-color: #aaa298 transparent;
  scrollbar-width: thin;
}

*::-webkit-scrollbar {
  width: 7px;
  height: 7px;
}

*::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 4px;
  background: #aaa298;
  background-clip: padding-box;
}

*::-webkit-scrollbar-thumb:hover {
  background: #81796f;
  background-clip: padding-box;
}

a,
.link-el,
.at-el {
  color: var(--codex-accent);
}

a:hover,
.link-el:hover {
  color: var(--codex-accent-hover);
}

:focus-visible {
  outline: 2px solid var(--codex-accent) !important;
  outline-offset: 2px;
}

.font-extrabold {
  font-weight: 600 !important;
  letter-spacing: 0.025em;
}

.rounded-lg,
.rounded-xl,
.rounded-2xl,
.rounded-3xl {
  border-radius: var(--codex-radius-md) !important;
}

.shadow-md,
.shadow-lg,
.shadow-xl,
.shadow-2xl {
  box-shadow: 0 1px 3px rgba(30, 38, 51, 0.08) !important;
}

/* 将编译产物中写死的旧蓝色归一为制度红。 */
.bg-\[\#0089FF\],
.bg-\[\#0289fa\] {
  background-color: rgb(139 29 36 / var(--tw-bg-opacity, 1)) !important;
}

.text-\[\#0089FF\],
.text-\[\#0089ff\],
.text-\[\#0289FA\],
.text-\[\#0289FAFF\],
.\!text-\[\#0289FAFF\],
.text-blue-500 {
  color: rgb(139 29 36 / var(--tw-text-opacity, 1)) !important;
}

.border-\[\#0089FF\],
.border-\[\#0289FA\] {
  border-color: rgb(139 29 36 / var(--tw-border-opacity, 1)) !important;
}

.bg-\[\#F2F8FF\],
.bg-\[\#e6f3ff\],
.bg-\[\#f3f8fe\] {
  background-color: var(--codex-accent-pale) !important;
}

.bg-\[\#E8EAEFFF\] {
  background-color: var(--codex-surface-muted) !important;
}

.text-\[\#8E9AB0FF\],
.text-\[\#8e9aaf\],
.text-gray-500 {
  color: var(--codex-muted) !important;
}

._wrap_iu6ca_8 {
  stroke: var(--codex-accent) !important;
}

/* 应用框架：绛红命令栏、墨蓝一级导航、暖灰列表栏与纸白工作区。 */
.ant-layout,
.ant-app {
  background-color: var(--codex-canvas);
}

.ant-layout-content {
  min-width: 0;
  background-color: var(--codex-surface);
}

.app-drag.bg-\[var\(--top-search-bar\)\] {
  min-height: 42px;
  border-bottom: 1px solid #621118;
  background-color: var(--codex-accent) !important;
  color: #ffffff;
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.08);
}

.app-drag .bg-\[rgba\(255\,255\,255\,0\.2\)\] {
  width: min(38vw, 420px) !important;
  min-width: 240px;
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: var(--codex-radius-sm);
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff;
}

.app-drag .bg-\[rgba\(255\,255\,255\,0\.2\)\]:hover {
  border-color: rgba(255, 255, 255, 0.55);
  background: rgba(255, 255, 255, 0.2) !important;
}

.app-drag .bg-\[rgba\(255\,255\,255\,0\.2\)\]:focus-visible,
.app-drag .bg-\[rgba\(255\,255\,255\,0\.2\)\]:focus-within {
  border-color: #ffffff;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.18);
}

.app-drag .text-\[\#D2E3F8\] {
  color: rgba(255, 255, 255, 0.82) !important;
}

.app-drag .bg-\[rgba\(255\,255\,255\,0\.2\)\] > img {
  filter: brightness(0) invert(1);
  opacity: 0.84;
}

.app-drag img.app-no-drag {
  filter: brightness(0) invert(1);
  opacity: 0.92;
}

body .ant-layout-sider.no-mobile {
  border-right: 1px solid #0e1727 !important;
  background: var(--codex-rail) !important;
  box-shadow: none !important;
}

body .ant-layout-sider.no-mobile .text-gray-500 {
  color: #c6ced9 !important;
}

body .ant-layout-sider.no-mobile .ant-avatar {
  border: 1px solid var(--codex-brass);
  background-color: var(--codex-accent) !important;
  color: #ffffff;
}

body .ant-layout-sider.no-mobile [class~="h-[52px]"] {
  border: 1px solid transparent;
  border-radius: var(--codex-radius-sm) !important;
  color: #d9dfe7;
}

body .ant-layout-sider.no-mobile [class~="h-[52px]"] > img {
  filter: brightness(0) invert(1);
  opacity: 0.72;
}

body .ant-layout-sider.no-mobile [class~="h-[52px]"]:hover {
  border-color: rgba(255, 255, 255, 0.1);
  background: var(--codex-rail-hover);
}

body .ant-layout-sider.no-mobile [class~="h-[52px]"].bg-\[\#e9e9eb\] {
  border-color: #d9c6c2;
  border-left: 3px solid var(--codex-accent);
  background: #fffaf7 !important;
}

body .ant-layout-sider.no-mobile [class~="h-[52px]"].bg-\[\#e9e9eb\] > img {
  filter: brightness(0) saturate(100%) invert(13%) sepia(57%) saturate(3100%)
    hue-rotate(338deg) brightness(90%) contrast(93%);
  opacity: 1;
}

body .ant-layout-sider.no-mobile [class~="h-[52px]"].bg-\[\#e9e9eb\] .text-gray-500 {
  color: var(--codex-accent) !important;
}

/* 可调整宽度面板的包装层不传递高度，浏览器模式下会把会话栏压成数像素。 */
body .ant-layout.flex-row > div > aside.relative.bg-white {
  height: 100%;
  min-height: 100%;
  border-right: 1px solid var(--codex-border);
  background: var(--codex-surface-muted) !important;
}

/* 通讯录、设置等路由会把二级栏直接挂在主布局下，保持与会话栏相同的暖灰纸面。 */
body aside.relative.bg-white.max-\[600px\]\:hidden {
  border-right-color: var(--codex-border) !important;
  background: var(--codex-surface-muted) !important;
}

body
  .ant-layout.flex-row
  > div
  > aside.relative.bg-white
  > .absolute.overflow-hidden {
  top: 0 !important;
  right: 1px !important;
  left: 0 !important;
}

._sider_bar_1vw78_14 {
  border-left-color: var(--codex-border) !important;
}

/* 基础控件：4-6px 圆角、细边框、克制状态反馈。 */
body .ant-btn {
  border-radius: var(--codex-radius-sm);
  box-shadow: none;
  font-weight: 500;
  letter-spacing: 0.02em;
}

body .ant-btn-default {
  border-color: var(--codex-border-strong);
  color: var(--codex-ink);
  background: var(--codex-surface);
}

body .ant-btn-default:not(:disabled):hover,
body .ant-btn-default:not(:disabled):focus-visible {
  border-color: var(--codex-accent);
  color: var(--codex-accent);
  background: var(--codex-accent-pale);
}

body .ant-btn.ant-btn-primary {
  border-color: var(--codex-accent);
  background: var(--codex-accent);
  color: #ffffff;
  box-shadow: none;
}

body .ant-btn.ant-btn-primary:not(:disabled):hover,
body .ant-btn.ant-btn-primary:not(:disabled):focus-visible {
  border-color: var(--codex-accent-hover);
  background: var(--codex-accent-hover);
}

body .ant-btn.ant-btn-primary:not(:disabled):active {
  border-color: var(--codex-accent-pressed);
  background: var(--codex-accent-pressed);
}

body .ant-btn.ant-btn-link,
body .ant-btn.ant-btn-text:not(.ant-btn-dangerous) {
  color: var(--codex-accent);
}

body .ant-btn:disabled,
body .ant-btn.ant-btn-primary:disabled {
  border-color: #d9dde3;
  background: #e7eaee;
  color: #9299a3;
  opacity: 1;
}

body .ant-input,
body .ant-input-affix-wrapper,
body .ant-input-number,
body .ant-picker,
body .ant-select-selector,
body .ant-mentions,
body textarea.ant-input {
  border-color: var(--codex-border-strong) !important;
  border-radius: var(--codex-radius-sm) !important;
  background: var(--codex-surface) !important;
  box-shadow: none !important;
  color: var(--codex-ink);
}

body .ant-input:hover,
body .ant-input-affix-wrapper:hover,
body .ant-input-number:hover,
body .ant-picker:hover,
body .ant-select:not(.ant-select-disabled):hover .ant-select-selector,
body .ant-mentions:hover {
  border-color: #b46a6e !important;
}

body .ant-input:focus,
body .ant-input-focused,
body .ant-input-affix-wrapper-focused,
body .ant-input-number-focused,
body .ant-picker-focused,
body .ant-select-focused .ant-select-selector,
body .ant-mentions-focused {
  border-color: var(--codex-accent) !important;
  box-shadow: 0 0 0 2px var(--codex-focus) !important;
}

body .ant-input::placeholder,
body textarea.ant-input::placeholder,
body .ant-select-selection-placeholder {
  color: #8c867d;
}

body .ant-form-item-label > label,
body .custom-form-item > label {
  color: #3e4856;
  font-weight: 500;
}

body .ant-form-item-explain-error {
  color: var(--codex-danger);
}

body .ant-checkbox-inner,
body .ant-radio-inner {
  border-color: #a9a196;
  border-radius: 3px;
}

body .ant-checkbox-checked .ant-checkbox-inner,
body .ant-checkbox-indeterminate .ant-checkbox-inner::after,
body .ant-tree-checkbox-checked .ant-tree-checkbox-inner {
  border-color: var(--codex-accent);
  background: var(--codex-accent);
}

body .ant-checkbox-wrapper:not(.ant-checkbox-wrapper-disabled):hover .ant-checkbox-inner,
body .ant-radio-wrapper:not(.ant-radio-wrapper-disabled):hover .ant-radio-inner {
  border-color: var(--codex-accent);
}

body .ant-radio-wrapper .ant-radio-checked .ant-radio-inner {
  border-color: var(--codex-accent);
  background: #ffffff;
}

body .ant-radio-inner::after {
  background: var(--codex-accent);
}

body .ant-switch.ant-switch-checked {
  background: var(--codex-accent);
}

body .ant-switch:not(.ant-switch-checked) {
  background: #939ba6;
}

body .ant-slider .ant-slider-track,
body .ant-slider .ant-slider-handle::after,
body .ant-progress .ant-progress-bg,
body .ant-steps .ant-steps-item-process .ant-steps-item-icon {
  border-color: var(--codex-accent);
  background: var(--codex-accent);
}

/* Tabs、菜单与选择态保持清晰的公文式层级。 */
body .ant-tabs .ant-tabs-nav::before {
  border-bottom-color: var(--codex-border);
}

body .ant-tabs .ant-tabs-tab {
  color: #4e596a;
  font-weight: 500;
}

body .ant-tabs .ant-tabs-tab:hover,
body .ant-tabs .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {
  color: var(--codex-accent);
}

body .ant-tabs .ant-tabs-ink-bar {
  height: 2px;
  border-radius: 0;
  background: var(--codex-accent);
}

body .ant-menu,
body .ant-dropdown-menu {
  color: var(--codex-ink);
  background: var(--codex-surface);
}

body .ant-menu-item,
body .ant-dropdown-menu-item,
body .ant-dropdown-menu-submenu-title,
body .ant-select-item {
  border-radius: 3px !important;
}

body .ant-menu-item:hover,
body .ant-dropdown-menu-item:hover,
body .ant-dropdown-menu-submenu-title:hover,
body .ant-select-item-option-active:not(.ant-select-item-option-disabled) {
  background: var(--codex-accent-soft) !important;
}

body .ant-menu-item-selected,
body .ant-dropdown-menu-item-selected,
body .ant-select-item-option-selected:not(.ant-select-item-option-disabled),
body .ant-segmented-item-selected {
  color: var(--codex-accent) !important;
  background: var(--codex-accent-soft) !important;
  font-weight: 600;
}

body .ant-segmented {
  border: 1px solid var(--codex-border);
  border-radius: var(--codex-radius-sm);
  background: var(--codex-surface-muted);
  box-shadow: none;
}

body .ant-card,
body .ant-collapse {
  border-color: var(--codex-border);
  border-radius: var(--codex-radius-md);
  background: var(--codex-surface);
  box-shadow: none;
}

body .ant-card .ant-card-head,
body .ant-collapse .ant-collapse-item {
  border-bottom-color: var(--codex-border);
}

body .ant-card .ant-card-head-title,
body .ant-collapse .ant-collapse-header {
  color: var(--codex-ink);
  font-weight: 600;
}

body .ant-breadcrumb a,
body .ant-breadcrumb .ant-breadcrumb-link {
  color: var(--codex-muted);
}

body .ant-breadcrumb a:hover {
  color: var(--codex-accent);
}

/* 弹窗、抽屉、浮层与确认流程。 */
body .ant-modal-mask,
body .ant-drawer-mask {
  background: rgba(20, 29, 43, 0.36) !important;
}

body .ant-modal .ant-modal-content {
  overflow: hidden;
  border: 1px solid var(--codex-border);
  border-top: 3px solid var(--codex-accent);
  border-radius: var(--codex-radius-md) !important;
  background: var(--codex-surface);
  box-shadow: 0 2px 8px rgba(23, 32, 51, 0.1) !important;
}

body .ant-modal .ant-modal-header {
  margin-bottom: 0;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--codex-border);
  background: var(--codex-surface-muted);
}

body .ant-modal .ant-modal-title,
body .ant-drawer .ant-drawer-title {
  color: var(--codex-ink);
  font-weight: 600;
  letter-spacing: 0.03em;
}

body .ant-modal .ant-modal-footer {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--codex-border);
}

body .ant-modal .ant-modal-close,
body .ant-drawer .ant-drawer-close {
  color: var(--codex-muted);
  border-radius: var(--codex-radius-sm);
}

body .ant-modal .ant-modal-close:hover,
body .ant-drawer .ant-drawer-close:hover {
  color: var(--codex-accent);
  background: var(--codex-accent-soft);
}

body .no-padding-modal .ant-modal-content,
body .global-search-modal .ant-modal-content,
body ._global-search-modal_eh50y_1 .ant-modal-content,
body .rtc-single-modal .ant-modal-content {
  border-radius: var(--codex-radius-md) !important;
}

body .no-padding-modal .bg-\[var\(--gap-text\)\] {
  border-bottom: 1px solid var(--codex-border);
  background: var(--codex-surface-muted) !important;
}

body .chat-drawer .ant-drawer-content-wrapper {
  border-left: 1px solid var(--codex-border);
  box-shadow: -2px 0 6px rgba(23, 32, 51, 0.08) !important;
}

body .chat-drawer .ant-drawer-content,
body .chat-drawer .ant-drawer-body {
  background: var(--codex-surface);
}

body .chat-drawer .ant-drawer-header {
  border-bottom: 1px solid var(--codex-border);
  background: var(--codex-surface-muted);
}

body .chat-drawer .anticon-close,
body .chat-drawer .anticon-right {
  color: var(--codex-muted);
}

body .ant-divider {
  border-color: var(--codex-border);
}

body .chat-drawer .ant-divider.border-4,
body .ant-modal .ant-divider.border-4 {
  border-width: 1px 0 0 !important;
  border-color: var(--codex-border) !important;
}

body .ant-popover .ant-popover-inner,
body .ant-dropdown .ant-dropdown-menu,
body .ant-select-dropdown,
body .ant-picker-dropdown .ant-picker-panel-container {
  border: 1px solid var(--codex-border);
  border-radius: var(--codex-radius-sm) !important;
  background: var(--codex-surface);
  box-shadow: 0 2px 8px rgba(23, 32, 51, 0.1) !important;
}

body .ant-tooltip .ant-tooltip-inner {
  border-radius: var(--codex-radius-sm);
  background: var(--codex-ink);
  box-shadow: none;
}

body .ant-message .ant-message-notice-content,
body .ant-notification .ant-notification-notice {
  border: 1px solid var(--codex-border);
  border-radius: var(--codex-radius-sm);
  background: var(--codex-surface);
  box-shadow: 0 2px 8px rgba(23, 32, 51, 0.1);
}

/* 会话、联系人、搜索结果和成员管理统一为可扫描列表。 */
body ._conversation-item_1cdkq_1 {
  margin: 0;
  min-height: 64px;
  border: 0;
  border-bottom: 1px solid #e6e9ed;
  border-radius: 0;
  padding: 9px 12px;
}

body ._conversation-item_1cdkq_1:hover {
  background: var(--codex-accent-pale);
}

body ._conversation-item_1cdkq_1.bg-\[var\(--primary-active\)\] {
  border-left: 3px solid var(--codex-accent);
  background: var(--codex-accent-soft) !important;
  padding-left: 9px;
}

body ._conversation-item-pined_1cdkq_4::after {
  border-color: var(--codex-accent) var(--codex-accent) transparent transparent;
}

body [class~="transition-colors"][class*="hover:bg-[var(--primary-active)]"] {
  border-bottom: 1px solid #e6e9ed;
  border-radius: 0 !important;
}

body [class~="transition-colors"][class*="hover:bg-[var(--primary-active)]"]:hover {
  background: var(--codex-accent-pale) !important;
}

body ._list-member-item_1kc0z_8 {
  min-height: 44px;
  border-bottom: 1px solid #e6e9ed;
  border-radius: 0;
  padding: 8px 12px;
}

body ._list-member-item_1kc0z_8:hover {
  background: var(--codex-accent-pale);
}

body .ant-list .ant-list-item,
body .ant-table-wrapper .ant-table-tbody > tr > td {
  border-bottom-color: #e6e9ed;
}

body .ant-list .ant-list-item:hover,
body .ant-table-wrapper .ant-table-tbody > tr:hover > td {
  background: var(--codex-accent-pale) !important;
}

body .ant-table-wrapper .ant-table-thead > tr > th {
  border-bottom: 1px solid var(--codex-border);
  background: var(--codex-canvas);
  color: #354052;
  font-weight: 600;
}

body .ant-avatar,
body .ant-avatar-image {
  border-radius: var(--codex-radius-sm) !important;
}

body .ant-badge .ant-badge-count,
body .ant-badge .ant-badge-dot {
  background: var(--codex-accent);
  box-shadow: 0 0 0 1px #ffffff;
}

body .ant-tag {
  border-radius: 3px;
  box-shadow: none;
}

body [data-codex-empty-host] {
  position: relative;
}

body [data-codex-contact-empty] {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--codex-muted);
  font-size: 14px;
  pointer-events: none;
}

/* 通讯录：原生桌面 IM 的“导航 / 列表 / 详情”三级布局。 */
@media (min-width: 901px) {
  body [data-codex-contact-aside] {
    z-index: 32;
    overflow: visible !important;
  }

  body [data-codex-contact-nav] {
    position: relative;
    z-index: 35;
    background: var(--codex-surface-muted) !important;
  }

  body [data-codex-contact-nav] > div:first-child {
    height: 58px;
    padding: 22px 16px 14px !important;
    border-bottom: 1px solid var(--codex-border);
    color: var(--codex-ink);
    font-size: 15px !important;
    font-weight: 650 !important;
    letter-spacing: 0.04em;
  }

  body [data-codex-contact-nav-list] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
    box-sizing: border-box;
    height: 106px;
    padding: 8px;
    border-bottom: 1px solid var(--codex-border);
    background: #f8f6f2;
  }

  body [data-codex-contact-nav-list] > li {
    min-width: 0;
    height: 42px;
    margin: 0 !important;
    padding: 7px 8px !important;
    gap: 7px;
    border: 1px solid transparent;
    border-radius: 5px !important;
    background: transparent !important;
    color: #3c4654;
  }

  body [data-codex-contact-nav-list] > li:hover {
    border-color: #ded6cc;
    background: #f1ede7 !important;
  }

  body [data-codex-contact-nav-list] > li[class*="bg-[#f3f8fe]"] {
    border-color: #d6b6b3;
    background: var(--codex-accent-pale) !important;
    color: var(--codex-accent);
  }

  body [data-codex-contact-nav-list] > li img {
    width: 27px !important;
    height: 27px !important;
    margin-right: 0 !important;
    border-radius: 4px !important;
    filter: grayscale(0.9) saturate(0.45) contrast(0.92);
    opacity: 0.86;
  }

  body [data-codex-contact-nav-list] > li > div {
    min-width: 0;
    overflow: hidden;
    color: inherit;
    font-size: 13px !important;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  body [data-codex-contact-content] {
    position: fixed !important;
    top: 228px !important;
    bottom: 0 !important;
    left: 68px !important;
    z-index: 34;
    box-sizing: border-box;
    width: 300px !important;
    height: auto !important;
    min-width: 300px !important;
    max-width: 300px !important;
    overflow: hidden !important;
    border-right: 1px solid var(--codex-border);
    background: var(--codex-surface-muted) !important;
    box-shadow: none !important;
  }

  body [data-codex-contact-content-title] {
    box-sizing: border-box;
    width: 100% !important;
    height: 52px;
    margin: 0 !important;
    padding: 17px 16px 11px !important;
    border-bottom: 1px solid var(--codex-border);
    color: var(--codex-ink);
    font-size: 14px !important;
    font-weight: 650 !important;
  }

  body [data-codex-contact-content] > .ml-4.mt-4 {
    margin: 0 !important;
    padding: 8px 7px 12px !important;
  }

  body [data-codex-contact-content] .absolute.right-3.top-14 {
    right: 5px !important;
    top: 58px !important;
  }

  body [data-codex-contact-content] .bg-white {
    background: transparent !important;
  }

  body [data-codex-contact-content] .mx-3\.5.mb-3.h-px.w-full {
    width: calc(100% - 28px) !important;
  }

  body [data-codex-contact-content] [data-test-id="virtuoso-scroller"] {
    overflow-x: hidden !important;
  }

  body [data-codex-contact-workspace]::after {
    content: "选择联系人或群组查看资料";
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    justify-content: center;
    min-width: 0;
    height: 100%;
    color: #98938b;
    background: var(--codex-surface);
    font-size: 13px;
    letter-spacing: 0.02em;
  }

  /* 联系人/群组现有资料弹层保持原功能，定位到右侧详情工作区中心。 */
  body:has([data-codex-contact-workspace]) .ant-modal-wrap .ant-modal {
    left: 184px;
  }
}

/* 聊天主区、消息气泡、公告和多选操作。 */
body #chat-container,
body #chat-main,
body #chat-list {
  min-width: 0;
  background: var(--codex-surface) !important;
}

body #chat-container > .ant-layout-header {
  border-bottom-color: var(--codex-border) !important;
  background: #fffaf7 !important;
  box-shadow: none;
}

body ._message-container_1t138_1 ._bubble_1t138_10 {
  border: 1px solid var(--codex-border);
  border-radius: var(--codex-radius-sm);
  background: var(--chat-bubble);
  box-shadow: none;
}

body ._message-container-sender_1t138_21 ._bubble_1t138_10 {
  border-color: #d9bdbc;
  background: var(--chat-bubble-sender);
}

body ._message-profile_1t138_7,
body ._suffix_1t138_15 {
  color: var(--codex-muted);
}

body ._card-shadow_1t138_52,
body ._notice-card_1f3s2_1,
body ._calling-card_1f3s2_11 {
  border: 1px solid var(--codex-border);
  border-radius: var(--codex-radius-sm);
  background: var(--codex-surface);
  box-shadow: 0 1px 3px rgba(23, 32, 51, 0.08) !important;
}

body ._calling-card_1f3s2_11 {
  border-left: 3px solid var(--codex-accent);
  background: var(--codex-accent-pale);
}

body #chat-footer {
  border-top: 1px solid var(--codex-border);
  background: var(--codex-surface-muted) !important;
}

body #chat-footer footer.bg-white {
  background: var(--codex-surface-muted) !important;
}

body #chat-footer footer.bg-white > .flex {
  border-top: 0 !important;
}

body #chat-footer .ck.ck-editor__editable_inline {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 0 !important;
  margin: 0;
  padding: 9px 12px;
  border: 1px solid #cfd5dc !important;
  border-radius: 5px !important;
  background: var(--codex-surface) !important;
  box-shadow: none !important;
}

body #chat-footer .ck.ck-editor__editable_inline:focus {
  border-color: var(--codex-accent) !important;
  outline: 0 !important;
  box-shadow: none !important;
}

body #chat-footer .ck.ck-editor__main {
  box-sizing: border-box;
  height: 100%;
  padding: 6px 18px;
}

body #chat-footer .ant-btn-primary {
  min-width: 72px;
}

body #chat-footer .ant-dropdown-button {
  width: auto !important;
  height: 32px;
  padding: 0 !important;
}

body #chat-footer .ant-dropdown-button .ant-btn-compact-first-item {
  min-width: 72px;
  border-radius: 5px 0 0 5px !important;
}

body #chat-footer .ant-dropdown-button .ant-btn-compact-last-item {
  width: 34px;
  min-width: 34px;
  padding: 0 !important;
  border-radius: 0 5px 5px 0 !important;
}

body #chat-footer .flex.items-center.justify-end.py-2.pr-3 {
  padding: 8px 18px 10px !important;
}

body .message-drawer-tab .ant-tabs-nav .ant-tabs-ink-bar {
  height: 2px;
  border-radius: 0;
  transform: none;
}

body .global-search-modal .message-drawer-tab .ant-tabs-nav,
body ._global-search-modal_eh50y_1 ._search-tab_eh50y_11 .ant-tabs-nav {
  border-bottom-color: var(--codex-border);
}

/* 登录、注册、找回密码以及运行时注册补丁。 */
body:has(._login_1hixf_1) {
  overflow: auto;
  background: var(--codex-canvas);
}

body:has(._login_1hixf_1) .app-drag.bg-\[var\(--top-search-bar\)\] {
  display: none !important;
}

body .flex.flex-1.items-center.justify-center:has(> ._login_1hixf_1) {
  width: 100%;
  height: 100vh;
  min-height: 620px;
  flex: 1 0 100vh;
  align-self: stretch;
  justify-content: stretch;
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: var(--codex-canvas);
  box-shadow: none;
}

body
  .flex.flex-1.items-center.justify-center:has(> ._login_1hixf_1)
  > .flex.min-h-\[420\] {
  width: 46%;
  height: 100%;
  min-height: 620px;
  flex: 0 0 46%;
  align-self: stretch;
  align-items: center;
  justify-content: center;
  border-top: 5px solid var(--codex-accent);
  border-right: 1px solid #0e1727;
  background: var(--codex-rail);
}

body
  .flex.flex-1.items-center.justify-center:has(> ._login_1hixf_1)
  > .flex.min-h-\[420\]
  > .mr-14.text-center {
  width: min(520px, calc(100% - 80px));
  height: auto;
  margin-right: 0 !important;
  padding: 0;
  text-align: left;
}

body
  .flex.flex-1.items-center.justify-center:has(> ._login_1hixf_1)
  > .flex.min-h-\[420\]
  > .mr-14.text-center
  > .text-2xl {
  color: #ffffff;
  font-size: clamp(28px, 2.25vw, 36px);
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: 0.04em;
}

body
  .flex.flex-1.items-center.justify-center:has(> ._login_1hixf_1)
  > .flex.min-h-\[420\]
  > .mr-14.text-center
  > .text-sm {
  display: block;
  margin-top: 12px;
  color: #b9c2cf !important;
  font-size: 16px;
  line-height: 24px;
}

body
  .flex.flex-1.items-center.justify-center:has(> ._login_1hixf_1)
  img[alt="login_bg"] {
  width: 100%;
  height: auto;
  margin-top: 44px;
  filter: grayscale(1) brightness(1.35) contrast(0.76);
  opacity: 0.54;
}

body ._login_1hixf_1 {
  box-sizing: border-box;
  width: 54% !important;
  height: 100% !important;
  min-height: 620px;
  flex: 0 0 54%;
  margin-right: 0 !important;
  border-top: 5px solid var(--codex-accent);
  border-radius: 0 !important;
  padding: clamp(68px, 11vh, 108px) clamp(72px, 7vw, 118px) 56px !important;
  background: var(--codex-surface);
  box-shadow: none !important;
}

body ._login_1hixf_1 > .flex.flex-row.items-center.justify-between {
  margin-bottom: 28px;
}

body ._login_1hixf_1 .text-xl,
body ._login_1hixf_1 h1 {
  color: var(--codex-ink);
  font-size: clamp(24px, 2vw, 30px);
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 0.04em;
}

body ._login-method-tab_1hixf_5 .ant-tabs-nav {
  margin-bottom: 28px;
  border-bottom: 1px solid var(--codex-border);
}

body ._login-method-tab_1hixf_5 .ant-tabs-tab {
  min-height: 46px;
  padding: 10px 2px;
  font-size: 16px;
}

body ._login_1hixf_1 .ant-form-item {
  margin-bottom: 22px;
}

body ._login_1hixf_1 .ant-form-item-label {
  padding-bottom: 8px;
}

body ._login_1hixf_1 .ant-input-affix-wrapper {
  min-height: 48px;
  padding-right: 14px;
  padding-left: 14px;
  font-size: 15px;
}

body ._login_1hixf_1 .ant-form .mb-10.flex.flex-row.justify-between {
  min-height: 44px;
  align-items: center;
  margin-bottom: 28px !important;
}

body ._login_1hixf_1 .ant-form-item.mb-4 {
  margin-bottom: 14px !important;
}

body ._login_1hixf_1 .ant-btn.ant-btn-block {
  min-height: 48px;
  font-size: 16px;
  font-weight: 600;
}

@media (max-width: 899px) {
  body
    .flex.flex-1.items-center.justify-center:has(> ._login_1hixf_1)
    > .flex.min-h-\[420\] {
    display: none;
  }

  body ._login_1hixf_1 {
    width: 100% !important;
    flex-basis: 100%;
    padding-right: clamp(24px, 8vw, 72px) !important;
    padding-left: clamp(24px, 8vw, 72px) !important;
  }
}

[data-codex-register-overlay="true"] {
  background: rgba(23, 32, 51, 0.34) !important;
  font-family: "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei UI",
    "Microsoft YaHei", "PingFang SC", Arial, sans-serif !important;
}

[data-codex-register-overlay="true"] > div {
  border: 1px solid var(--codex-border) !important;
  border-top: 3px solid var(--codex-accent) !important;
  border-radius: var(--codex-radius-md) !important;
  box-shadow: 0 2px 8px rgba(23, 32, 51, 0.1) !important;
}

[data-codex-register-overlay="true"] h1 {
  color: var(--codex-ink) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
}

[data-codex-register-overlay="true"] p {
  color: var(--codex-muted) !important;
}

[data-codex-register-overlay="true"] label {
  color: #354052 !important;
  font-weight: 500;
}

[data-codex-register-overlay="true"] input {
  border-color: #c7cdd5 !important;
  border-radius: var(--codex-radius-sm) !important;
  color: var(--codex-ink) !important;
  outline: none;
}

[data-codex-register-overlay="true"] input:focus {
  border-color: var(--codex-accent) !important;
  box-shadow: 0 0 0 2px var(--codex-focus);
}

[data-codex-register-overlay="true"] [data-codex-mode] {
  border-color: var(--codex-border) !important;
  border-radius: var(--codex-radius-sm) !important;
  background: var(--codex-surface) !important;
  color: #4e596a !important;
}

[data-codex-register-overlay="true"] [data-codex-mode][style*="#1677ff"] {
  border-color: var(--codex-accent) !important;
  background: var(--codex-accent-soft) !important;
  color: var(--codex-accent) !important;
  font-weight: 600;
}

[data-codex-register-overlay="true"] [data-codex-register-next],
[data-codex-register-overlay="true"] [data-codex-register-submit] {
  border: 1px solid var(--codex-accent) !important;
  border-radius: var(--codex-radius-sm) !important;
  background: var(--codex-accent) !important;
  color: #ffffff !important;
  font-weight: 500;
}

[data-codex-register-overlay="true"] [data-codex-register-next]:hover,
[data-codex-register-overlay="true"] [data-codex-register-submit]:hover {
  background: var(--codex-accent-hover) !important;
}

[data-codex-register-overlay="true"] [data-codex-register-back] {
  color: var(--codex-accent) !important;
}

/* 加载、空态、错误、分页等跨页面状态。 */
body .ant-spin .ant-spin-dot-item {
  background: var(--codex-accent);
}

body .ant-spin-text {
  color: var(--codex-accent);
}

body .ant-empty-description,
body .ant-result-subtitle {
  color: var(--codex-muted);
}

body img[src*="empty_"] {
  filter: grayscale(0.75) saturate(0.55) sepia(0.1);
  opacity: 0.82;
}

body img[src*="logo-31205418.png"] {
  filter: hue-rotate(155deg) saturate(0.85);
}

body .ant-skeleton .ant-skeleton-title,
body .ant-skeleton .ant-skeleton-paragraph > li,
body .ant-skeleton .ant-skeleton-avatar {
  background: #e1e5ea;
}

body .ant-alert {
  border-width: 1px;
  border-radius: var(--codex-radius-sm);
  box-shadow: none;
}

body .ant-alert-info {
  border-color: #d9b4b7;
  background: var(--codex-accent-pale);
}

body .ant-pagination .ant-pagination-item {
  border-color: var(--codex-border);
  border-radius: var(--codex-radius-sm);
}

body .ant-pagination .ant-pagination-item-active {
  border-color: var(--codex-accent);
}

body .ant-pagination .ant-pagination-item-active a {
  color: var(--codex-accent);
}

body .ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner,
body .ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner,
body .ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner {
  background: var(--codex-accent);
}

body .ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-today .ant-picker-cell-inner::before {
  border-color: var(--codex-accent);
}

body .ant-upload-wrapper .ant-upload-drag {
  border-color: var(--codex-border);
  border-radius: var(--codex-radius-md);
  background: var(--codex-canvas);
}

body .ant-upload-wrapper .ant-upload-drag:not(.ant-upload-disabled):hover {
  border-color: var(--codex-accent);
}

/* 编辑器、表情与媒体浮层沿用同一套色彩，不改输入行为。 */
.ck.ck-editor,
.ck.ck-balloon-panel,
.ck.ck-dropdown__panel {
  --ck-color-focus-border: var(--codex-accent);
  --ck-color-button-on-background: var(--codex-accent-soft);
  --ck-color-button-on-color: var(--codex-accent);
  --ck-color-base-border: var(--codex-border);
  --ck-border-radius: var(--codex-radius-sm);
  --ck-color-shadow-drop: rgba(23, 32, 51, 0.1);
}

.ck.ck-editor__editable,
.ck.ck-editor__editable:focus {
  box-shadow: none !important;
  caret-color: var(--codex-accent);
}

emoji-picker {
  --background: var(--codex-surface);
  --border-color: var(--codex-border);
  --button-active-background: var(--codex-accent-soft);
  --button-hover-background: var(--codex-accent-pale);
  --indicator-color: var(--codex-accent);
  --input-border-color: var(--codex-border);
  --outline-color: var(--codex-accent);
  border: 1px solid var(--codex-border);
  border-radius: var(--codex-radius-md);
  box-shadow: 0 2px 8px rgba(23, 32, 51, 0.1);
}

.xgplayer .xgplayer-progress-played,
.xgplayer .xgplayer-volume,
.xgplayer .xgplayer-drag {
  background: var(--codex-accent) !important;
}

@media (max-width: 900px) {
  body .flex.flex-1.items-center.justify-center:has(> ._login_1hixf_1) {
    width: min(400px, calc(100vw - 32px));
    height: auto;
    min-height: 0;
    flex: 0 0 auto;
  }

  body
    .flex.flex-1.items-center.justify-center:has(> ._login_1hixf_1)
    > .flex.min-h-\[420\] {
    display: none;
  }

  body ._login_1hixf_1 {
    width: 100% !important;
    min-height: 0;
    padding: 44px 32px !important;
  }

  body .ant-modal {
    max-width: calc(100vw - 24px);
    margin: 12px auto;
  }

  body .chat-drawer .ant-drawer-content-wrapper {
    min-width: 0;
    max-width: 100vw;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* --------------------------------------------------------------------------
 * Native PC shell v2
 * Layout overrides are intentionally last so the compiled Web bundle keeps
 * all existing actions while search, navigation and authentication read like
 * a desktop communications client instead of a browser administration page.
 * ----------------------------------------------------------------------- */

body:not(:has(._login_1hixf_1)) .app-drag.bg-\[var\(--top-search-bar\)\] {
  z-index: 30;
  height: 36px !important;
  min-height: 36px !important;
  border-bottom: 1px solid var(--codex-border);
  background: #f7f8fa !important;
  color: var(--codex-ink);
  box-shadow: none;
}

body:not(:has(._login_1hixf_1)) .app-drag.bg-\[var\(--top-search-bar\)\]::before {
  content: "内部通讯";
  position: fixed;
  z-index: 31;
  top: 0;
  left: 14px;
  height: 36px;
  color: #5f6771;
  font-size: 12px;
  line-height: 36px;
  font-weight: 500;
  letter-spacing: 0.08em;
}

/* The existing global-search action stays intact, but now lives where users
 * expect it: at the head of the list column, beside the existing add action. */
body:not(:has(._login_1hixf_1))
  .app-drag
  .bg-\[rgba\(255\,255\,255\,0\.2\)\] {
  position: fixed !important;
  z-index: 80;
  top: 46px;
  left: 80px;
  width: 238px !important;
  min-width: 0;
  height: 32px;
  border: 1px solid #d6dce2;
  border-radius: 6px;
  background: #ffffff !important;
  color: var(--codex-ink);
  box-shadow: 0 1px 1px rgba(32, 36, 42, 0.03);
}

body:not(:has(._login_1hixf_1))
  .app-drag
  .bg-\[rgba\(255\,255\,255\,0\.2\)\]:hover {
  border-color: #b8c0c9;
  background: #ffffff !important;
}

body:not(:has(._login_1hixf_1))
  .app-drag
  .bg-\[rgba\(255\,255\,255\,0\.2\)\]:focus-within {
  border-color: var(--codex-accent);
  box-shadow: 0 0 0 2px var(--codex-focus);
}

body:not(:has(._login_1hixf_1)) .app-drag .text-\[\#D2E3F8\] {
  color: #7b838d !important;
}

body:not(:has(._login_1hixf_1))
  .app-drag
  .bg-\[rgba\(255\,255\,255\,0\.2\)\]
  > img {
  filter: none;
  opacity: 0.62;
}

body:not(:has(._login_1hixf_1)) .app-drag img.app-no-drag {
  position: fixed !important;
  z-index: 81;
  top: 46px;
  left: 326px;
  box-sizing: border-box;
  width: 32px !important;
  height: 32px !important;
  margin: 0 !important;
  border: 1px solid #d6dce2;
  border-radius: 6px;
  padding: 7px;
  background: #ffffff;
  filter: none;
  opacity: 0.78;
}

body:not(:has(._login_1hixf_1)) .app-drag img.app-no-drag:hover {
  border-color: var(--codex-accent);
  background: var(--codex-accent-pale);
  opacity: 1;
}

body .ant-layout-sider.no-mobile {
  width: 68px !important;
  min-width: 68px !important;
  max-width: 68px !important;
  flex: 0 0 68px !important;
  border-right-color: #171c23 !important;
}

body .ant-layout-sider.no-mobile .ant-avatar {
  border-color: rgba(255, 255, 255, 0.18);
  border-radius: 7px !important;
}

body .ant-layout-sider.no-mobile [class~="h-[52px]"] {
  width: 60px;
  min-height: 58px;
  margin: 2px 4px;
  border: 0;
  border-left: 3px solid transparent;
  border-radius: 0 6px 6px 0 !important;
}

body .ant-layout-sider.no-mobile [class~="h-[52px]"].bg-\[\#e9e9eb\] {
  border: 0;
  border-left: 3px solid var(--codex-accent);
  background: #353e4b !important;
}

body .ant-layout-sider.no-mobile [class~="h-[52px]"].bg-\[\#e9e9eb\]
  .text-gray-500 {
  color: #ffffff !important;
}

body .ant-layout-sider.no-mobile [class~="h-[52px]"].bg-\[\#e9e9eb\] > img {
  filter: brightness(0) invert(1);
}

body .ant-layout.flex-row > div > aside.relative.bg-white,
body aside.relative.bg-white.max-\[600px\]\:hidden {
  width: 300px !important;
  min-width: 300px !important;
  max-width: 300px !important;
  flex: 0 0 300px !important;
  border-right-color: var(--codex-border) !important;
  background: var(--codex-surface-muted) !important;
}

body
  .ant-layout.flex-row
  > div
  > aside.relative.bg-white
  > .absolute.overflow-hidden {
  top: 28px !important;
}

body aside.relative.bg-white.max-\[600px\]\:hidden > :first-child {
  margin-top: 28px;
}

/* 会话栏首次加载和选中会话后的响应式类不同，统一保留搜索区高度。 */
body
  aside.relative.bg-white:has(._conversation-item_1cdkq_1)
  > .absolute.overflow-hidden {
  top: 28px !important;
  margin-top: 28px !important;
}

body:not(:has(._login_1hixf_1))
  .ant-layout.no-mobile.flex.items-center.justify-center.bg-white {
  background: #ffffff !important;
}

body ._conversation-item_1cdkq_1 {
  min-height: 64px;
  border-bottom-color: #e4e8ec;
  padding: 9px 12px;
}

body ._conversation-item_1cdkq_1:hover {
  background: #eceff2;
}

body ._conversation-item_1cdkq_1.bg-\[var\(--primary-active\)\] {
  border-left: 3px solid var(--codex-accent);
  background: var(--codex-accent-soft) !important;
}

/* Authentication is one focused client task, not a promotional split page. */
body:has(._login_1hixf_1) {
  overflow: hidden;
  background: var(--codex-canvas);
}

body:has(._login_1hixf_1) .app-drag.bg-\[var\(--top-search-bar\)\] {
  display: none !important;
}

body .flex.flex-1.items-center.justify-center:has(> ._login_1hixf_1) {
  box-sizing: border-box;
  width: 100%;
  height: 100vh;
  min-height: 640px;
  flex: 1 0 100vh;
  flex-direction: column;
  align-self: stretch;
  justify-content: center;
  margin: 0;
  overflow: auto;
  border: 0;
  border-radius: 0;
  padding: 28px 0;
  background:
    linear-gradient(90deg, transparent calc(50% - 240px), rgba(159, 45, 53, 0.025) calc(50% - 240px), rgba(159, 45, 53, 0.025) calc(50% + 240px), transparent calc(50% + 240px)),
    var(--codex-canvas);
  box-shadow: none;
}

body
  .flex.flex-1.items-center.justify-center:has(> ._login_1hixf_1)
  > .flex.min-h-\[420\] {
  box-sizing: border-box;
  display: flex !important;
  width: 480px;
  height: 78px;
  min-height: 78px;
  flex: 0 0 78px;
  align-self: auto;
  align-items: flex-end;
  justify-content: flex-start;
  border: 1px solid var(--codex-border);
  border-bottom: 0;
  border-radius: 10px 10px 0 0;
  padding: 26px 40px 10px;
  background: var(--codex-surface);
  box-shadow: 0 16px 42px rgba(32, 36, 42, 0.1);
}

body
  .flex.flex-1.items-center.justify-center:has(> ._login_1hixf_1)
  > .flex.min-h-\[420\]
  > .mr-14.text-center {
  display: flex;
  width: 100%;
  margin: 0 !important;
  align-items: center;
  text-align: left;
}

body
  .flex.flex-1.items-center.justify-center:has(> ._login_1hixf_1)
  > .flex.min-h-\[420\]
  > .mr-14.text-center::before {
  content: "";
  width: 10px;
  height: 22px;
  margin-right: 12px;
  border-radius: 2px;
  background: var(--codex-accent);
}

body
  .flex.flex-1.items-center.justify-center:has(> ._login_1hixf_1)
  > .flex.min-h-\[420\]
  > .mr-14.text-center::after {
  content: "内部通讯";
  color: var(--codex-ink);
  font-size: 20px;
  line-height: 28px;
  font-weight: 600;
  letter-spacing: 0.08em;
}

body
  .flex.flex-1.items-center.justify-center:has(> ._login_1hixf_1)
  > .flex.min-h-\[420\]
  > .mr-14.text-center
  > .text-2xl,
body
  .flex.flex-1.items-center.justify-center:has(> ._login_1hixf_1)
  > .flex.min-h-\[420\]
  > .mr-14.text-center
  > .text-sm,
body
  .flex.flex-1.items-center.justify-center:has(> ._login_1hixf_1)
  img[alt="login_bg"] {
  display: none !important;
}

body ._login_1hixf_1 {
  box-sizing: border-box;
  width: 480px !important;
  height: auto !important;
  min-height: 0;
  flex: 0 0 auto;
  margin: 0 !important;
  border: 1px solid var(--codex-border);
  border-top: 0;
  border-radius: 0 0 10px 10px !important;
  padding: 20px 40px 34px !important;
  background: var(--codex-surface);
  box-shadow: 0 20px 42px rgba(32, 36, 42, 0.1) !important;
}

body ._login_1hixf_1 > .flex.flex-row.items-center.justify-between {
  margin-bottom: 12px;
}

body ._login_1hixf_1 > .flex.flex-row.items-center.justify-between .text-xl {
  font-size: 0 !important;
  letter-spacing: 0;
}

body ._login_1hixf_1 > .flex.flex-row.items-center.justify-between .text-xl::after {
  content: "登录";
  color: var(--codex-ink);
  font-size: 18px;
  line-height: 28px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

body ._login_1hixf_1
  > .flex.flex-row.items-center.justify-between
  .text-xl[data-codex-official-title="true"] {
  color: var(--codex-ink);
  font-size: 18px !important;
  line-height: 28px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

body ._login_1hixf_1
  > .flex.flex-row.items-center.justify-between
  .text-xl[data-codex-official-title="true"]::after {
  content: none;
}

body ._login-method-tab_1hixf_5 .ant-tabs-nav {
  margin-bottom: 18px;
}

body ._login-method-tab_1hixf_5 .ant-tabs-tab {
  min-height: 40px;
  padding: 8px 2px;
  font-size: 14px;
}

body ._login_1hixf_1 .ant-form-item {
  margin-bottom: 16px;
}

body ._login_1hixf_1 .ant-form-item-label {
  padding-bottom: 6px;
}

body ._login_1hixf_1 .ant-input-affix-wrapper,
body ._login_1hixf_1 .ant-select-selector {
  min-height: 44px;
}

body ._login_1hixf_1 .ant-form .mb-10.flex.flex-row.justify-between {
  min-height: 34px;
  margin-bottom: 18px !important;
}

body ._login_1hixf_1 .ant-btn.ant-btn-block {
  min-height: 44px;
  font-size: 15px;
}

body:has(._login_1hixf_1)
  .absolute.bottom-3.right-3.flex.cursor-pointer.flex-col.items-center.text-xs {
  display: none !important;
}

@media (max-width: 600px) {
  body .flex.flex-1.items-center.justify-center:has(> ._login_1hixf_1) {
    min-height: 600px;
    padding: 18px 16px;
  }

  body
    .flex.flex-1.items-center.justify-center:has(> ._login_1hixf_1)
    > .flex.min-h-\[420\],
  body ._login_1hixf_1 {
    width: min(100%, 440px) !important;
  }

  body ._login_1hixf_1 {
    padding: 18px 28px 28px !important;
  }
}

/* 全局搜索沿用原有数据和分类，但作为会话列表栏内面板呈现。 */
body:has(._global-search-modal_eh50y_1) .ant-modal-mask,
body:has(.global-search-modal) .ant-modal-mask {
  display: none !important;
}

body .ant-modal-wrap:has(._global-search-modal_eh50y_1),
body .ant-modal-wrap:has(.global-search-modal) {
  position: fixed !important;
  z-index: 70 !important;
  top: 36px !important;
  right: auto !important;
  bottom: 0 !important;
  left: 68px !important;
  display: block !important;
  width: 300px !important;
  height: auto !important;
  overflow: hidden !important;
  pointer-events: none;
}

body .ant-modal-wrap:has(._global-search-modal_eh50y_1) ._global-search-modal_eh50y_1,
body .ant-modal-wrap:has(.global-search-modal) .global-search-modal {
  position: absolute !important;
  inset: 0 !important;
  width: 300px !important;
  max-width: none !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  pointer-events: auto;
}

body ._global-search-modal_eh50y_1 .ant-modal-content,
body .global-search-modal .ant-modal-content {
  height: 100%;
  overflow: hidden;
  border: 0 !important;
  border-right: 1px solid var(--codex-border) !important;
  border-radius: 0 !important;
  background: var(--codex-surface-muted) !important;
  box-shadow: none !important;
}

body ._global-search-modal_eh50y_1 .ant-modal-body,
body .global-search-modal .ant-modal-body {
  display: flex;
  height: 100%;
  min-height: 0;
  flex-direction: column;
  padding: 0 !important;
}

body ._global-search-modal_eh50y_1 .ant-modal-body > .app-drag,
body .global-search-modal .ant-modal-body > .app-drag {
  display: none;
}

body ._global-search-modal_eh50y_1 .ant-modal-body > .px-6,
body .global-search-modal .ant-modal-body > .px-6 {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 8px;
  flex: 0 0 auto;
  align-items: center;
  padding: 10px 12px 8px !important;
  background: var(--codex-surface-muted);
}

body [data-codex-inline-search-back] {
  display: inline-flex;
  height: 32px;
  align-items: center;
  justify-content: flex-start;
  border: 0;
  border-radius: 6px;
  padding: 0 6px 0 2px;
  background: transparent;
  color: var(--codex-ink);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

body [data-codex-inline-search-back] > span:first-child {
  margin-right: 4px;
  color: var(--codex-muted);
  font-size: 25px;
  line-height: 1;
  font-weight: 400;
}

body [data-codex-inline-search-back]:hover,
body [data-codex-inline-search-back]:focus-visible {
  background: #e9edf1;
}

body ._global-search-modal_eh50y_1 .ant-input-affix-wrapper,
body .global-search-modal .ant-input-affix-wrapper {
  height: 32px;
  padding: 4px 10px !important;
  border-color: #cfd5dc !important;
  border-radius: 5px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

body ._global-search-modal_eh50y_1 .ant-input-affix-wrapper:hover,
body .global-search-modal .ant-input-affix-wrapper:hover {
  border-color: #aeb6c0 !important;
}

body ._global-search-modal_eh50y_1 .ant-input-affix-wrapper-focused,
body .global-search-modal .ant-input-affix-wrapper-focused {
  border-color: var(--codex-accent) !important;
  box-shadow: 0 0 0 2px var(--codex-focus) !important;
}

/* AffixWrapper 承担唯一的边框与焦点状态，内部 input 不再重复绘制。 */
body ._global-search-modal_eh50y_1 .ant-input-affix-wrapper > .ant-input,
body .global-search-modal .ant-input-affix-wrapper > .ant-input,
body ._global-search-modal_eh50y_1 .ant-input-affix-wrapper > .ant-input:focus,
body .global-search-modal .ant-input-affix-wrapper > .ant-input:focus {
  height: auto;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body ._global-search-modal_eh50y_1 .ant-tabs,
body .global-search-modal .ant-tabs {
  min-height: 0;
  flex: 1 1 auto;
  background: var(--codex-surface-muted);
}

body ._global-search-modal_eh50y_1 .ant-tabs-nav,
body .global-search-modal .ant-tabs-nav {
  margin: 0 !important;
  padding: 0 12px;
  background: var(--codex-surface-muted);
}

body ._global-search-modal_eh50y_1 .ant-tabs-nav-list,
body .global-search-modal .ant-tabs-nav-list {
  width: 100%;
  justify-content: space-between;
}

body ._global-search-modal_eh50y_1 .ant-tabs-tab,
body .global-search-modal .ant-tabs-tab {
  margin: 0 !important;
  padding: 10px 0 9px !important;
  font-size: 12px;
}

body ._global-search-modal_eh50y_1 .ant-tabs-nav-operations,
body .global-search-modal .ant-tabs-nav-operations {
  display: none !important;
}

body ._global-search-modal_eh50y_1 .ant-tabs-content-holder,
body .global-search-modal .ant-tabs-content-holder,
body ._global-search-modal_eh50y_1 .ant-tabs-content,
body .global-search-modal .ant-tabs-content,
body ._global-search-modal_eh50y_1 .ant-tabs-tabpane,
body .global-search-modal .ant-tabs-tabpane {
  min-height: 0;
  height: 100%;
}

body ._global-search-modal_eh50y_1 .ant-tabs-content-holder,
body .global-search-modal .ant-tabs-content-holder {
  border-top: 1px solid var(--codex-border);
  background: #ffffff;
}

body ._global-search-modal_eh50y_1 .ant-empty,
body .global-search-modal .ant-empty {
  margin-top: 92px !important;
}
