/* 登录页面样式 */
.login-container {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--primary-gradient);
  padding: 20px;
}

.login-box {
  width: 100%;
  max-width: 420px;
  background: #ffffff;
  border-radius: 16px;
  padding: 48px 40px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  animation: fadeIn 0.5s ease-out;
}

.login-header {
  text-align: center;
  margin-bottom: 40px;
}

.login-logo {
  width: 80px;
  height: 80px;
  margin: 0 auto 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.login-logo-img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.login-title {
  font-size: 28px;
  font-weight: 600;
  color: #1a1a2e;
  margin-bottom: 8px;
}

.login-subtitle {
  font-size: 14px;
  color: #666;
}

.login-form {
  margin-top: 32px;
}

.login-form .ant-form-item {
  margin-bottom: 24px;
}

.login-form .ant-input-affix-wrapper {
  padding: 14px 16px;
  border-radius: 10px;
  border: 1px solid #e8e8e8;
  font-size: 15px;
  transition: all 0.3s ease;
}

.login-form .ant-input-affix-wrapper:hover {
  border-color: var(--primary-color-start);
}

.login-form .ant-input-affix-wrapper-focused,
.login-form .ant-input-affix-wrapper:focus {
  border-color: var(--primary-color-start);
  box-shadow: 0 0 0 2px var(--primary-light);
}

.login-form .ant-input-prefix {
  margin-right: 12px;
  color: #999;
}

.login-form .ant-input {
  font-size: 15px;
}

.login-button {
  width: 100%;
  height: 50px;
  background: var(--primary-gradient);
  border: none;
  border-radius: 10px;
  font-size: 16px;
  font-weight: 600;
  color: #ffffff;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-top: 12px;
}

.login-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 30px var(--primary-shadow);
}

.login-button:active {
  transform: translateY(0);
}

.login-button:disabled {
  background: #d9d9d9;
  transform: none;
  box-shadow: none;
}

.login-footer {
  margin-top: 32px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.login-footer-text {
  font-size: 14px;
  color: #999; 
}

.login-footer-logo {
  max-width: 75px;
  height: auto;
  cursor: pointer;
  transition: opacity 0.3s ease;
}

.login-footer-logo:hover {
  opacity: 0.8;
}

.login-error {
  background: #fff2f0;
  border: 1px solid #ffccc7;
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 24px;
  color: #ff4d4f;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  animation: shake 0.5s ease-in-out;
}

@keyframes shake {
  0%, 100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-10px);
  }
  75% {
    transform: translateX(10px);
  }
}

/* 响应式 */
@media (max-width: 480px) {
  .login-box {
    padding: 36px 24px;
  }

  .login-title {
    font-size: 24px;
  }

  .login-logo {
    width: 60px;
    height: 60px;
    font-size: 30px;
  }
}/* ChatContainer 组件样式 - 复用首页聊天样式 */

.chat-container-component {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #f5f7fa;
  position: relative;
  height: 100%;
}

/* 聊天对话区域 */
.chat-container {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.chat-container.has-messages {
}

.chat-messages {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 24px;
  scrollbar-width: thin;
  scrollbar-color: #d9d9d9 transparent;
}

.chat-messages::-webkit-scrollbar {
  width: 6px;
}

.chat-messages::-webkit-scrollbar-track {
  background: transparent;
}

.chat-messages::-webkit-scrollbar-thumb {
  background: #d9d9d9;
  border-radius: 3px;
}

.chat-messages::-webkit-scrollbar-thumb:hover {
  background: #bfbfbf;
}

.chat-messages-empty {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.welcome-input-header {
  text-align: center;
  margin-bottom: 24px;
  animation: fadeIn 0.5s ease-out;
}

.welcome-input-icon {
  width: 100px;
  height: 100px;
  margin: 0 auto 20px;
  object-fit: contain;
  animation: float 3s ease-in-out infinite;
}

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

.welcome-input-title {
  font-size: 28px;
  font-weight: 700;
  color: #1a1a2e;
  margin-bottom: 12px;
}

.welcome-input-subtitle {
  font-size: 15px;
  color: #666;
  max-width: 500px;
  margin: 0 auto;
}

.home-input-wrapper {
  max-width: 900px;
  margin: 0 auto;
}

.home-input-box {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #f5f7fa;
  border: 2px solid #e8e8e8;
  border-radius: 16px;
  padding: 12px 16px;
  transition: all 0.3s ease;
}

.home-input-box.focused {
  border: none;
  background: #ffffff;
  position: relative;
  background-clip: padding-box;
}

.home-input-wrapper .home-input-box.focused::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 16px;
  padding: 2px;
  background: var(--primary-gradient);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

.home-input-wrapper .home-input-box.focused {
  box-shadow: 0 4px 20px var(--primary-shadow-light);
}

.home-textarea {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font-size: 15px;
  line-height: 1.6;
  color: #333;
  resize: none;
  min-height: 24px;
  max-height: 200px;
  font-family: inherit;
}

.home-textarea::placeholder {
  color: #999;
}

.home-input-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

.home-action-btn {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  border: none;
  background: transparent;
  color: #999;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: all 0.3s ease;
}

.home-action-btn:hover {
  background: #e8e8e8;
  color: var(--primary-color-start);
}

.home-send-btn {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  border: none;
  background: var(--primary-gradient);
  color: #ffffff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  transition: all 0.3s ease;
}

.home-send-btn:hover:not(:disabled) {
  transform: scale(1.05);
  box-shadow: 0 8px 24px var(--primary-shadow);
}

.home-send-btn:disabled {
  background: #d9d9d9;
  cursor: not-allowed;
}

.home-stop-btn {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  border: none;
  background: #ff4d4f;
  color: #ffffff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: all 0.3s ease;
  animation: pulse 1.5s infinite;
}

.home-stop-btn:hover:not(:disabled) {
  transform: scale(1.05);
  box-shadow: 0 8px 24px rgba(255, 77, 79, 0.4);
}

.home-stop-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

@keyframes pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255, 77, 79, 0.4); }
  50% { box-shadow: 0 0 0 10px rgba(255, 77, 79, 0); }
}

.home-input-section {
  flex-shrink: 0;
  padding: 16px 20px;
}

.quick-actions {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
  flex-wrap: wrap;
  justify-content: flex-start;
}

/* 消息气泡 */
.chat-message {
  display: flex;
  gap: 16px;
  animation: fadeIn 0.3s ease-out;
  width: 100%;
}

.chat-message.user {
  flex-direction: row-reverse;
}

.chat-message-avatar {
  width: 40px;
  height: 40px;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 600;
  flex-shrink: 0;
  flex: 0 0 40px;
  overflow: hidden;
}

.chat-message.ai .chat-message-avatar {
  color: #ffffff;
  padding: 0;
  overflow: hidden;
}

.ai-avatar-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.chat-message.user .chat-message-avatar {
  background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
  color: #ffffff;
}

.chat-message-content {
  /* 第一时间占据剩余空间，让布局稳定 */
  flex: 1 1 0;
  min-width: 0; /* 允许 flex 子项缩小 */
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.chat-message.user .chat-message-content {
  align-items: flex-end;
}

.chat-message-bubble {
  padding: 16px 20px;
  border-radius: 16px;
  font-size: 15px;
  line-height: 1.6;
  word-break: break-word;
  /* 气泡根据内容自适应宽度，短文本时不会过长 */
  width: fit-content;
  max-width: 100%;
}

.chat-message.ai .chat-message-bubble {
  background: #ffffff;
  color: #333;
  border: 1px solid #e8e8e8;
  border-top-left-radius: 4px;
}

.chat-message.user .chat-message-bubble {
  background: var(--primary-gradient);
  color: #ffffff;
  border-top-right-radius: 4px;
}

.chat-message-meta {
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: 12px;
  color: #999;
}

.chat-message-references {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.reference-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: #f5f7fa;
  border: 1px solid #e8e8e8;
  border-radius: 20px;
  font-size: 12px;
  color: #666;
  cursor: pointer;
  transition: all 0.3s ease;
}

.reference-tag:hover {
  background: var(--primary-color-start);
  color: #ffffff;
  border-color: var(--primary-color-start);
}

.reference-tag-icon {
  font-size: 12px;
}

.load-more-indicator {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 20px;
  color: #999;
  font-size: 14px;
}

.no-more-messages {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  color: #bbb;
  font-size: 13px;
  text-align: center;
}

.loading-indicator {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
}

.loading-spinner {
  width: 20px;
  height: 20px;
  border: 3px solid var(--primary-light-2);
  border-top-color: var(--primary-color-start);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.loading-indicator span {
  color: #666;
  font-size: 14px;
}

.chat-message-files {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.chat-message-bubble.user .chat-message-files {
  border-top-color: rgba(255, 255, 255, 0.2);
}

.message-file-image {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  max-width: 170px;
  background: #f0f0f0;
}

.message-file-image:hover {
  transform: scale(1.02);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.message-file-image img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

.message-file-image-loading,
.message-file-image-error {
  width: 170px;
  height: 170px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 8px;
  color: #999;
  font-size: 13px;
}


/* Markdown 内容样式 */
.markdown-content {
  word-break: break-word;
  overflow-wrap: break-word;
}

.markdown-content p {
  margin: 0 0 12px 0;
  line-height: 1.7;
}

.markdown-content p:last-child {
  margin-bottom: 0;
}

.markdown-content h1,
.markdown-content h2,
.markdown-content h3,
.markdown-content h4,
.markdown-content h5,
.markdown-content h6 {
  margin: 16px 0 12px 0;
  font-weight: 600;
  line-height: 1.4;
}

.markdown-content h1 {
  font-size: 24px;
  border-bottom: 1px solid #eaecef;
  padding-bottom: 8px;
}

.markdown-content h2 {
  font-size: 20px;
  border-bottom: 1px solid #eaecef;
  padding-bottom: 6px;
}

.markdown-content h3 {
  font-size: 18px;
}

.markdown-content h4 {
  font-size: 16px;
}

.markdown-content h5 {
  font-size: 14px;
}

.markdown-content h6 {
  font-size: 13px;
  color: #6a737d;
}

.markdown-content code {
  background: rgba(175, 184, 193, 0.2);
  padding: 2px 6px;
  border-radius: 4px;
  font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
  font-size: 0.9em;
}

.markdown-content pre {
  background: #f6f8fa;
  padding: 16px;
  border-radius: 8px;
  overflow-x: auto;
  margin: 12px 0;
}

.markdown-content pre code {
  background: transparent;
  padding: 0;
}

.markdown-content ul,
.markdown-content ol {
  padding-left: 24px;
  margin: 12px 0;
}

.markdown-content li {
  margin: 6px 0;
  line-height: 1.6;
}

.markdown-content li > ul,
.markdown-content li > ol {
  margin: 4px 0;
}

.markdown-content blockquote {
  border-left: 4px solid var(--primary-color-start);
  padding-left: 16px;
  margin: 12px 0;
  color: #6a737d;
  background: rgba(0, 0, 0, 0.02);
  padding: 8px 16px;
  border-radius: 0 8px 8px 0;
}

.markdown-content a {
  color: var(--primary-color-start);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s;
}

.markdown-content a:hover {
  border-bottom-color: var(--primary-color-start);
}

.markdown-content table {
  border-collapse: collapse;
  width: 100%;
  margin: 12px 0;
  display: block;
  overflow-x: auto;
}

.markdown-content th,
.markdown-content td {
  border: 1px solid #dfe2e5;
  padding: 10px 14px;
  text-align: left;
}

.markdown-content th {
  background: #f6f8fa;
  font-weight: 600;
}

.markdown-content tr:nth-child(even) {
  background: #f6f8fa;
}

.markdown-content hr {
  border: none;
  border-top: 1px solid #eaecef;
  margin: 20px 0;
}

.markdown-content img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 8px 0;
}

.markdown-content strong {
  font-weight: 600;
  color: #24292e;
}

.chat-message-bubble.ai .markdown-content {
  color: #333;
}

.chat-message-bubble.ai .markdown-content code {
  background: rgba(0, 0, 0, 0.06);
}

.chat-message-bubble.user .markdown-content {
  color: #ffffff;
}

.chat-message-bubble.user .markdown-content h1,
.chat-message-bubble.user .markdown-content h2,
.chat-message-bubble.user .markdown-content h3,
.chat-message-bubble.user .markdown-content h4,
.chat-message-bubble.user .markdown-content h5,
.chat-message-bubble.user .markdown-content h6 {
  color: #ffffff;
  border-bottom-color: rgba(255, 255, 255, 0.3);
}

.chat-message-bubble.user .markdown-content code {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
}

.chat-message-bubble.user .markdown-content pre {
  background: rgba(0, 0, 0, 0.2);
}

.chat-message-bubble.user .markdown-content strong {
  color: #ffffff;
}

.chat-message-bubble.user .markdown-content blockquote {
  border-left-color: rgba(255, 255, 255, 0.5);
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.9);
}


/* 选中的文件预览 */
.selected-files-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px 0;
  margin-bottom: 8px;
}

.selected-file-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px 8px 10px;
  background: #f5f7fa;
  border-radius: 8px;
  border: 1px solid #e8e8e8;
  max-width: 280px;
}

.file-preview-image {
  width: 40px;
  height: 40px;
  border-radius: 6px;
  overflow: hidden;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e8e8e8;
}

.file-preview-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.file-preview-icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e8e8e8;
  border-radius: 6px;
  font-size: 20px;
  color: #666;
  flex-shrink: 0;
}

.file-preview-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  overflow: hidden;
  flex: 1;
  min-width: 0;
}

.file-preview-name {
  font-size: 13px;
  color: #333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.file-preview-size {
  font-size: 11px;
  color: #999;
}

.file-uploading {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.file-uploading .loading-spinner {
  width: 24px;
  height: 24px;
  border-color: rgba(0, 0, 0, 0.1);
  border-top-color: var(--primary-color-start);
}

.remove-file-btn {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: none;
  background: transparent;
  color: #999;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.remove-file-btn:hover:not(:disabled) {
  background: #ff4d4f;
  color: #ffffff;
}

.remove-file-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* 响应式 */
@media (max-width: 768px) {
  .welcome-input-title {
    font-size: 24px;
  }

  .chat-message-content {
    max-width: 85%;
  }

  .home-input-box {
    padding: 10px 12px;
  }
}
.chat-message-bubble.user .markdown-content a {
  color: #ffffff;
  border-bottom-color: rgba(255, 255, 255, 0.5);
}

.chat-message-bubble.user .markdown-content table {
  border-color: rgba(255, 255, 255, 0.3);
}

.chat-message-bubble.user .markdown-content th,
.chat-message-bubble.user .markdown-content td {
  border-color: rgba(255, 255, 255, 0.3);
}

.chat-message-bubble.user .markdown-content th {
  background: rgba(255, 255, 255, 0.2);
}

.chat-message-bubble.user .markdown-content tr:nth-child(even) {
  background: rgba(255, 255, 255, 0.1);
}

.chat-message-bubble.user .markdown-content hr {
  border-top-color: rgba(255, 255, 255, 0.3);
}
.message-file-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: #f5f7fa;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  transition: all 0.3s ease;
}

.message-file-card:hover {
  background: #e8e8e8;
  border-color: var(--primary-color-start);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px var(--primary-shadow-light);
}

.message-file-card .message-file-icon {
  font-size: 24px;
  flex-shrink: 0;
}

.message-file-card .message-file-name {
  font-size: 13px;
  color: #333;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}

.message-file-card .message-file-actions {
  display: flex;
  gap: 4px;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.message-file-card:hover .message-file-actions {
  opacity: 1;
}

.file-action-btn {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  border: 1px solid #d9d9d9;
  background: #ffffff;
  color: #666;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: all 0.3s ease;
}

.file-action-btn:hover {
  background: #f5f5f5;
  border-color: var(--primary-color-start);
  color: var(--primary-color-start);
}

.quick-action-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
}

.quick-action-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.quick-action-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.quick-action-icon {
  font-size: 16px;
}

.home-input-hint-text {
  text-align: center;
  font-size: 12px;
  color: #999;
  margin-top: 8px;
}

.home-input-box.disabled {
  opacity: 0.6;
  pointer-events: none;
}

.home-input-box.disabled .home-stop-btn {
  pointer-events: auto;
}

.home-textarea:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.home-action-btn:disabled,
.home-send-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.not-logged-notice {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  background: #fff7e6;
  border: 1px solid #ffd591;
  border-radius: 10px;
  margin-bottom: 16px;
  color: #d46b08;
  font-size: 14px;
  animation: fadeIn 0.3s ease-out;
}

.not-logged-notice-icon {
  font-size: 18px;
}/* 快捷操作按钮容器 */
.quick-actions-container {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

/* 底部固定位置 */
.quick-actions-bottom {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1000;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  border: 1px solid rgba(0, 0, 0, 0.08);
}

/* 行内位置 */
.quick-actions-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 0;
}

/* 快捷操作按钮 */
.quick-action-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
}

.quick-action-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(102, 126, 234, 0.4);
}

.quick-action-btn:active:not(:disabled) {
  transform: translateY(0);
}

.quick-action-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.quick-action-icon {
  font-size: 18px;
  line-height: 1;
}

.quick-action-label {
  white-space: nowrap;
}
/* 首页/AI 问答页面样式 */
.home-container {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #f5f7fa;
  position: relative;
  height: 100%;
}

/* 聊天对话区域 - 占据所有可用空间，内容可滚动 */
.chat-container {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
}

.chat-container.has-messages {
  /* 有消息时保持正常布局 */
}

.chat-messages {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 20px 60px;
  /* 自定义滚动条 */
  scrollbar-width: thin;
  scrollbar-color: #d9d9d9 transparent;
}

.chat-messages::-webkit-scrollbar {
  width: 6px;
}

.chat-messages::-webkit-scrollbar-track {
  background: transparent;
}

.chat-messages::-webkit-scrollbar-thumb {
  background: #d9d9d9;
  border-radius: 3px;
}

.chat-messages::-webkit-scrollbar-thumb:hover {
  background: #bfbfbf;
}

/* 空状态欢迎内容 */
.chat-messages-empty {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
}

/* 首页输入框区域 - 固定在底部 */
.home-input-section {
  flex-shrink: 0;
  padding: 16px 20px;
  /* background: #ffffff; */
  /* border-top: 1px solid #e8e8e8; */
  /* box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.05); */
}

.welcome-input-header {
  text-align: center;
  margin-bottom: 24px;
  animation: fadeIn 0.5s ease-out;
}

.welcome-input-icon {
  width: 100px;
  height: 100px;
  margin: 0 auto 20px;
  object-fit: contain;
  animation: float 3s ease-in-out infinite;
}

@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

.welcome-input-title {
  font-size: 28px;
  font-weight: 700;
  color: #1a1a2e;
  margin-bottom: 12px;
}

.welcome-input-subtitle {
  font-size: 15px;
  color: #666;
  max-width: 500px;
  margin: 0 auto;
}

.home-input-wrapper {
  max-width: 900px;
  margin: 0 auto;
}

.home-input-box {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #f5f7fa;
  border: 2px solid #e8e8e8;
  border-radius: 16px;
  padding: 12px 16px;
  transition: all 0.3s ease;
}

.home-input-box.focused {
  border: none;
  background: #ffffff;
  position: relative;
  background-clip: padding-box;
}

/* 使用伪元素实现渐变边框 */
.home-input-wrapper .home-input-box.focused::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 16px;
  padding: 2px;
  background: var(--primary-gradient);
  -webkit-mask: 
    linear-gradient(#fff 0 0) content-box, 
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

.home-input-wrapper .home-input-box.focused {
  box-shadow: 0 4px 20px var(--primary-shadow-light);
}

.home-textarea {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font-size: 15px;
  line-height: 1.6;
  color: #333;
  resize: none;
  min-height: 24px;
  max-height: 200px;
  font-family: inherit;
}

.home-textarea::placeholder {
  color: #999;
}

.home-input-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

.home-action-btn {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  border: none;
  background: transparent;
  color: #999;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: all 0.3s ease;
}

.home-action-btn:hover {
  background: #e8e8e8;
  color: var(--primary-color-start);
}

.home-send-btn {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  border: none;
  background: var(--primary-gradient);
  color: #ffffff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  transition: all 0.3s ease;
}

.home-send-btn:hover:not(:disabled) {
  transform: scale(1.05);
  box-shadow: 0 8px 24px var(--primary-shadow);
}

.home-send-btn:disabled {
  background: #d9d9d9;
  cursor: not-allowed;
}

/* 停止按钮 */
.home-stop-btn {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  border: none;
  background: #ff4d4f;
  color: #ffffff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: all 0.3s ease;
  animation: pulse 1.5s infinite;
}

.home-stop-btn:hover:not(:disabled) {
  transform: scale(1.05);
  box-shadow: 0 8px 24px rgba(255, 77, 79, 0.4);
}

.home-stop-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

@keyframes pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(255, 77, 79, 0.4);
  }
  50% {
    box-shadow: 0 0 0 10px rgba(255, 77, 79, 0);
  }
}

.home-input-hint {
  text-align: center;
  font-size: 12px;
  color: #999;
  margin-top: 12px;
}

/* 快速操作按钮 */
.quick-actions {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
  padding: 0 8px;
}

.quick-action-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
}

.quick-action-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.quick-action-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.quick-action-icon {
  font-size: 16px;
}

.home-input-hint-text {
  text-align: center;
  font-size: 12px;
  color: #999;
  margin-top: 8px;
}

.home-input-hint.disabled {
  color: #ff9800;
}

.home-input-box.disabled {
  opacity: 0.6;
  pointer-events: none;
}

/* 停止按钮在禁用状态下仍可点击 */
.home-input-box.disabled .home-stop-btn {
  pointer-events: auto;
}

.home-textarea:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.home-action-btn:disabled,
.home-send-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* 未登录提示 */
.not-logged-notice {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  background: #fff7e6;
  border: 1px solid #ffd591;
  border-radius: 10px;
  margin-bottom: 16px;
  color: #d46b08;
  font-size: 14px;
  animation: fadeIn 0.3s ease-out;
}

.not-logged-notice-icon {
  font-size: 18px;
}

/* 消息气泡 */
.chat-message {
  display: flex;
  gap: 16px;
  animation: fadeIn 0.3s ease-out;
  /* 确保消息容器宽度固定 */
  width: 100%;
}

.chat-message.user {
  flex-direction: row-reverse;
}

.chat-message-avatar {
  width: 40px;
  height: 40px;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 600;
  flex-shrink: 0;
  /* 固定头像位置 */
  flex: 0 0 40px;
  overflow: hidden;
}

.chat-message.ai .chat-message-avatar {
  /* background: var(--primary-gradient); */
  color: #ffffff;
  padding: 0;
  overflow: hidden;
}

.ai-avatar-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.chat-message.user .chat-message-avatar {
  background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
  color: #ffffff;
}

.chat-message-content {
  /* 第一时间占据剩余空间，让布局稳定 */
  flex: 1 1 0;
  min-width: 0; /* 允许 flex 子项缩小 */
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.chat-message.user .chat-message-content {
  align-items: flex-end;
}

.chat-message-bubble {
  padding: 16px 20px;
  border-radius: 16px;
  font-size: 15px;
  line-height: 1.6;
  word-break: break-word;
  /* 气泡根据内容自适应宽度，短文本时不会过长 */
  width: fit-content;
  max-width: 100%;
}

.chat-message.ai .chat-message-bubble {
  background: #ffffff;
  color: #333;
  border: 1px solid #e8e8e8;
  border-top-left-radius: 4px;
}

.chat-message.user .chat-message-bubble {
  background: var(--primary-gradient);
  color: #ffffff;
  border-top-right-radius: 4px;
}

.chat-message-meta {
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: 12px;
  color: #999;
}

.chat-message-tokens {
  background: #f5f5f5;
  padding: 4px 8px;
  border-radius: 4px;
}

/* 引用来源 */
.chat-message-references {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.reference-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: #f5f7fa;
  border: 1px solid #e8e8e8;
  border-radius: 20px;
  font-size: 12px;
  color: #666;
  cursor: pointer;
  transition: all 0.3s ease;
}

.reference-tag:hover {
  background: var(--primary-color-start);
  color: #ffffff;
  border-color: var(--primary-color-start);
}

/* 加载更多消息提示 */
.load-more-indicator {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 20px;
  color: #999;
  font-size: 14px;
}

.no-more-messages {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  color: #bbb;
  font-size: 13px;
  text-align: center;
}

/* 打字机效果 */
.typing-indicator {
  display: flex;
  gap: 4px;
  padding: 8px 0;
}

.typing-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #999;
  animation: typing 1.4s infinite;
}

.typing-dot:nth-child(2) {
  animation-delay: 0.2s;
}

.typing-dot:nth-child(3) {
  animation-delay: 0.4s;
}

@keyframes typing {
  0%, 60%, 100% {
    transform: translateY(0);
    opacity: 0.4;
  }
  30% {
    transform: translateY(-10px);
    opacity: 1;
  }
}

/* AI 响应等待中的 loading 状态 */
.loading-indicator {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 0;
}

.loading-spinner {
  width: 20px;
  height: 20px;
  border: 3px solid var(--primary-light-2);
  border-top-color: var(--primary-color-start);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.loading-indicator span {
  color: #666;
  font-size: 14px;
}

/* 文件附件 */
.message-files {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.message-file {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: var(--primary-light);
  border-radius: 8px;
  font-size: 13px;
  color: var(--primary-color-start);
  cursor: pointer;
  transition: all 0.3s ease;
}

.message-file:hover {
  background: var(--primary-light-2);
}

.message-file-icon {
  font-size: 16px;
}

/* 聊天消息中的文件展示区域 */
.chat-message-files {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.chat-message-bubble.user .chat-message-files {
  border-top-color: rgba(255, 255, 255, 0.2);
}

/* 文件图片展示 */
.message-file-image {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  /* 使用 max-width 让图片自适应容器 */
  max-width: 170px;
  background: #f0f0f0;
}

.message-file-image:hover {
  transform: scale(1.02);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.message-file-image img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

/* 文件卡片展示 */
.message-file-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: #f5f7fa;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  transition: all 0.3s ease;
}

.message-file-card:hover {
  background: #e8e8e8;
  border-color: var(--primary-color-start);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px var(--primary-shadow-light);
}

.message-file-card .message-file-icon {
  font-size: 24px;
  flex-shrink: 0;
}

.message-file-card .message-file-name {
  font-size: 13px;
  color: #333;
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Markdown 内容样式 */
.markdown-content {
  word-break: break-word;
  overflow-wrap: break-word;
}

.markdown-content p {
  margin: 0 0 12px 0;
  line-height: 1.7;
}

.markdown-content p:last-child {
  margin-bottom: 0;
}

.markdown-content h1,
.markdown-content h2,
.markdown-content h3,
.markdown-content h4,
.markdown-content h5,
.markdown-content h6 {
  margin: 16px 0 12px 0;
  font-weight: 600;
  line-height: 1.4;
}

.markdown-content h1 {
  font-size: 24px;
  border-bottom: 1px solid #eaecef;
  padding-bottom: 8px;
}

.markdown-content h2 {
  font-size: 20px;
  border-bottom: 1px solid #eaecef;
  padding-bottom: 6px;
}

.markdown-content h3 {
  font-size: 18px;
}

.markdown-content h4 {
  font-size: 16px;
}

.markdown-content h5 {
  font-size: 14px;
}

.markdown-content h6 {
  font-size: 13px;
  color: #6a737d;
}

.markdown-content code {
  background: rgba(175, 184, 193, 0.2);
  padding: 2px 6px;
  border-radius: 4px;
  font-family: 'Consolas', 'Monaco', 'Courier New', monospace;
  font-size: 0.9em;
}

.markdown-content pre {
  background: #f6f8fa;
  padding: 16px;
  border-radius: 8px;
  overflow-x: auto;
  margin: 12px 0;
}

.markdown-content pre code {
  background: transparent;
  padding: 0;
}

.markdown-content ul,
.markdown-content ol {
  padding-left: 24px;
  margin: 12px 0;
}

.markdown-content li {
  margin: 6px 0;
  line-height: 1.6;
}

.markdown-content li > ul,
.markdown-content li > ol {
  margin: 4px 0;
}

.markdown-content blockquote {
  border-left: 4px solid var(--primary-color-start);
  padding-left: 16px;
  margin: 12px 0;
  color: #6a737d;
  background: rgba(0, 0, 0, 0.02);
  padding: 8px 16px;
  border-radius: 0 8px 8px 0;
}

.markdown-content a {
  color: var(--primary-color-start);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s;
}

.markdown-content a:hover {
  border-bottom-color: var(--primary-color-start);
}

.markdown-content table {
  border-collapse: collapse;
  width: 100%;
  margin: 12px 0;
  display: block;
  overflow-x: auto;
}

.markdown-content th,
.markdown-content td {
  border: 1px solid #dfe2e5;
  padding: 10px 14px;
  text-align: left;
}

.markdown-content th {
  background: #f6f8fa;
  font-weight: 600;
}

.markdown-content tr:nth-child(even) {
  background: #f6f8fa;
}

.markdown-content hr {
  border: none;
  border-top: 1px solid #eaecef;
  margin: 20px 0;
}

.markdown-content img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 8px 0;
}

.markdown-content strong {
  font-weight: 600;
  color: #24292e;
}

.markdown-content em {
  font-style: italic;
}

.markdown-content del {
  text-decoration: line-through;
  color: #6a737d;
}

/* AI 消息气泡中的 Markdown 样式调整 */
.chat-message-bubble.ai .markdown-content {
  color: #333;
}

.chat-message-bubble.ai .markdown-content code {
  background: rgba(0, 0, 0, 0.06);
}

.chat-message-bubble.ai .markdown-content pre {
  background: #f6f8fa;
}

/* 代码高亮样式 - 使用 highlight.js 主题 */
.markdown-content pre code.hljs {
  padding: 0;
  background: #f6f8fa;
  color: #24292e;
  border-radius: 8px;
}

.hljs-comment,
.hljs-quote {
  color: #6a737d;
  font-style: italic;
}

.hljs-keyword,
.hljs-selector-tag {
  color: #d73a49;
}

.hljs-string,
.hljs-doctag,
.hljs-template-variable {
  color: #032f62;
}

.hljs-title,
.hljs-section,
.hljs-selector-id {
  color: #6f42c1;
  font-weight: bold;
}

.hljs-variable,
.hljs-template-variable {
  color: #e36209;
}

.hljs-type,
.hljs-class {
  color: #22863a;
}

.hljs-number {
  color: #005cc5;
}

.hljs-built_in,
.hljs-builtin-name {
  color: #6f42c1;
}

.hljs-attr {
  color: #005cc5;
}

.hljs-symbol,
.hljs-bullet {
  color: #005cc5;
}

.hljs-link {
  color: #032f62;
  text-decoration: underline;
}

.hljs-deletion {
  background: #ffeef0;
  color: #b31d28;
}

.hljs-addition {
  background: #f0fff4;
  color: #22863a;
}

.hljs-emphasis {
  font-style: italic;
}

.hljs-strong {
  font-weight: bold;
}

/* 用户消息气泡中的 Markdown 样式调整 */
.chat-message-bubble.user .markdown-content {
  color: #ffffff;
}

.chat-message-bubble.user .markdown-content h1,
.chat-message-bubble.user .markdown-content h2,
.chat-message-bubble.user .markdown-content h3,
.chat-message-bubble.user .markdown-content h4,
.chat-message-bubble.user .markdown-content h5,
.chat-message-bubble.user .markdown-content h6 {
  color: #ffffff;
  border-bottom-color: rgba(255, 255, 255, 0.3);
}

.chat-message-bubble.user .markdown-content code {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
}

.chat-message-bubble.user .markdown-content pre {
  background: rgba(0, 0, 0, 0.2);
}

.chat-message-bubble.user .markdown-content pre code {
  color: #ffffff;
}

.chat-message-bubble.user .markdown-content strong {
  color: #ffffff;
}

.chat-message-bubble.user .markdown-content blockquote {
  border-left-color: rgba(255, 255, 255, 0.5);
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.9);
}

.chat-message-bubble.user .markdown-content a {
  color: #ffffff;
  border-bottom-color: rgba(255, 255, 255, 0.5);
}

.chat-message-bubble.user .markdown-content table {
  border-color: rgba(255, 255, 255, 0.3);
}

.chat-message-bubble.user .markdown-content th,
.chat-message-bubble.user .markdown-content td {
  border-color: rgba(255, 255, 255, 0.3);
}

.chat-message-bubble.user .markdown-content th {
  background: rgba(255, 255, 255, 0.2);
}

.chat-message-bubble.user .markdown-content tr:nth-child(even) {
  background: rgba(255, 255, 255, 0.1);
}

.chat-message-bubble.user .markdown-content hr {
  border-top-color: rgba(255, 255, 255, 0.3);
}

/* 选中的文件预览 */
.selected-files-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px 0;
  margin-bottom: 8px;
}

.selected-file-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px 8px 10px;
  background: #f5f7fa;
  border-radius: 8px;
  border: 1px solid #e8e8e8;
  max-width: 280px;
}

.file-preview-image {
  width: 40px;
  height: 40px;
  border-radius: 6px;
  overflow: hidden;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e8e8e8;
}

.file-preview-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.file-preview-icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e8e8e8;
  border-radius: 6px;
  font-size: 20px;
  color: #666;
  flex-shrink: 0;
}

.file-preview-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  overflow: hidden;
  flex: 1;
  min-width: 0;
}

.file-preview-name {
  font-size: 13px;
  color: #333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.file-preview-size {
  font-size: 11px;
  color: #999;
}

.file-uploading {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.file-uploading .loading-spinner {
  width: 24px;
  height: 24px;
  border-color: rgba(0, 0, 0, 0.1);
  border-top-color: var(--primary-color-start);
}

.remove-file-btn {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: none;
  background: transparent;
  color: #999;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.remove-file-btn:hover:not(:disabled) {
  background: #ff4d4f;
  color: #ffffff;
}

.remove-file-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* 响应式 */
@media (max-width: 768px) {
  .home-input-section.centered {
    width: 95%;
    padding: 30px 15px;
  }

  .welcome-input-title {
    font-size: 24px;
  }

  .chat-message-content {
    max-width: 85%;
  }

  .home-input-box {
    padding: 10px 12px;
  }
}
/* 个人中心页面样式 */
.profile-container {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
  background: #f5f7fa;
}

.profile-content {
  max-width: 900px;
  margin: 0 auto;
}

.profile-header {
  margin-bottom: 24px;
}

.profile-title {
  font-size: 24px;
  font-weight: 700;
  color: #1a1a2e;
  margin-bottom: 8px;
}

.profile-subtitle {
  font-size: 14px;
  color: #666;
}

/* 个人信息卡片 */
.profile-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 32px;
  margin-bottom: 24px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
}

.profile-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e8e8e8;
}

.profile-card-title {
  font-size: 18px;
  font-weight: 600;
  color: #1a1a2e;
  display: flex;
  align-items: center;
  gap: 10px;
}

.profile-card-icon {
  font-size: 22px;
}

.edit-btn {
  padding: 8px 16px;
  border-radius: 8px;
  border: 1px solid var(--primary-color-start);
  background: transparent;
  color: var(--primary-color-start);
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.3s ease;
}

.edit-btn:hover {
  background: var(--primary-color-start);
  color: #ffffff;
}

/* 用户信息展示 */
.profile-info {
  display: flex;
  gap: 32px;
  align-items: center;
}

.profile-avatar-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.profile-avatar-large {
  width: 100px;
  height: 100px;
  border-radius: 5px;
  background: var(--primary-gradient);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 40px;
  font-weight: 600;
  box-shadow: 0 8px 24px var(--primary-shadow);
  overflow: hidden;
}

.avatar-upload-btn {
  font-size: 13px;
  color: var(--primary-color-start);
  cursor: pointer;
  transition: color 0.3s ease;
}

.avatar-upload-btn:hover {
  color: var(--primary-color-end);
}

.profile-details {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.profile-detail-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.profile-detail-label {
  font-size: 13px;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.profile-detail-value {
  font-size: 15px;
  color: #333;
  font-weight: 500;
}

.profile-detail-value.highlight {
  color: var(--primary-color-start);
}

/* 表单样式 */
.profile-form {
  display: grid;
  gap: 20px;
}

.profile-form-group {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.form-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.form-item-label {
  font-size: 14px;
  color: #333;
  font-weight: 500;
}

.form-item-input {
  padding: 12px 16px;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  font-size: 15px;
  transition: all 0.3s ease;
}

.form-item-input:focus {
  outline: none;
  border-color: var(--primary-color-start);
  box-shadow: 0 0 0 3px var(--primary-light);
}

.form-item-input::placeholder {
  color: #999;
}

/* 修改密码 */
.password-section {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #e8e8e8;
}

.password-title {
  font-size: 16px;
  font-weight: 600;
  color: #1a1a2e;
  margin-bottom: 20px;
}

/* 使用统计 */
.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin-top: 20px;
}

.stat-card {
  background: var(--primary-gradient);
  border-radius: 14px;
  padding: 24px;
  color: #ffffff;
  transition: transform 0.3s ease;
}

.stat-card:hover {
  transform: translateY(-4px);
}

.stat-card.secondary {
  background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
}

.stat-card.tertiary {
  background: linear-gradient(135deg, #fc4a1a 0%, #f7b733 100%);
}

.stat-card.quaternary {
  background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%);
  color: #333;
}

.stat-value {
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 4px;
}

.stat-label {
  font-size: 14px;
  opacity: 0.9;
}

/* 保存按钮 */
.form-actions {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #e8e8e8;
}

.save-btn {
  padding: 12px 32px;
  background: var(--primary-gradient);
  color: #ffffff;
  border: none;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.save-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px var(--primary-shadow);
}

.cancel-btn {
  padding: 12px 32px;
  background: #f5f5f5;
  color: #666;
  border: none;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
}

.cancel-btn:hover {
  background: #e8e8e8;
}

/* 响应式 */
@media (max-width: 768px) {
  .profile-container {
    padding: 16px;
  }

  .profile-card {
    padding: 20px;
  }

  .profile-info {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .profile-details {
    grid-template-columns: 1fr;
  }

  .profile-form-group {
    grid-template-columns: 1fr;
  }

  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}/* 文件管理页面样式 */
.files-container {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
  background: #f5f7fa;
}

.files-content {
  max-width: 1200px;
  margin: 0 auto;
}

.files-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
}

.files-header-left {
  display: flex;
  align-items: center;
  gap: 16px;
}

.files-back-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: #ffffff;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  font-size: 14px;
  color: #333;
  cursor: pointer;
  transition: all 0.3s ease;
}

.files-back-btn:hover {
  background: #e8e8e8;
}

.files-title {
  font-size: 24px;
  font-weight: 700;
  color: #1a1a2e;
  margin: 0;
}

.files-actions {
  display: flex;
  gap: 12px;
}

.upload-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  background: var(--primary-gradient);
  color: #ffffff;
  border: none;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
}

.upload-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px var(--primary-shadow);
}

.upload-btn.batch {
  background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
}

/* 上传区域 */
.upload-section {
  background: #ffffff;
  border-radius: 16px;
  padding: 32px;
  margin-bottom: 24px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
}

.upload-area {
  border: 2px dashed #d9d9d9;
  border-radius: 12px;
  padding: 48px 24px;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
}

.upload-area:hover {
  border-color: var(--primary-color-start);
  background: var(--primary-light);
}

.upload-area.dragover {
  border-color: var(--primary-color-start);
  background: var(--primary-light-2);
}

.upload-icon {
  font-size: 48px;
  color: var(--primary-color-start);
  margin-bottom: 16px;
}

.upload-text {
  font-size: 16px;
  color: #333;
  margin-bottom: 8px;
}

.upload-hint {
  font-size: 13px;
  color: #999;
}

.upload-progress {
  margin-top: 20px;
}

.progress-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: #f5f7fa;
  border-radius: 8px;
  margin-bottom: 8px;
}

.progress-info {
  flex: 1;
}

.progress-filename {
  font-size: 14px;
  color: #333;
  margin-bottom: 4px;
}

.progress-bar {
  height: 6px;
  background: #e8e8e8;
  border-radius: 3px;
  overflow: hidden;
}

.progress-fill {
  height: 100%;
  background: var(--primary-gradient);
  transition: width 0.3s ease;
}

.progress-status {
  font-size: 12px;
  color: #999;
  width: 50px;
  text-align: right;
}

.progress-status.success {
  color: #52c41a;
}

.progress-status.error {
  color: #ff4d4f;
}

/* 文件列表 */
.files-section {
  background: #ffffff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
}

.files-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid #e8e8e8;
}

.files-section-title {
  font-size: 18px;
  font-weight: 600;
  color: #1a1a2e;
}

.files-filter {
  display: flex;
  gap: 8px;
}

.filter-btn {
  padding: 6px 14px;
  border-radius: 6px;
  border: 1px solid #e8e8e8;
  background: #ffffff;
  color: #666;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.filter-btn:hover {
  border-color: var(--primary-color-start);
  color: var(--primary-color-start);
}

.filter-btn.active {
  background: var(--primary-color-start);
  border-color: var(--primary-color-start);
  color: #ffffff;
}

/* 文件表格 */
.files-table {
  width: 100%;
  border-collapse: collapse;
}

.files-table th,
.files-table td {
  padding: 16px 24px;
  text-align: left;
}

.files-table th {
  background: #fafafa;
  font-size: 13px;
  font-weight: 600;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  border-bottom: 1px solid #e8e8e8;
}

.files-table td {
  border-bottom: 1px solid #f5f5f5;
  font-size: 14px;
  color: #333;
}

.files-table tr:hover {
  background: #fafafa;
}

.file-info {
  display: flex;
  align-items: center;
  gap: 12px;
}

.file-icon {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}

.file-icon.pdf {
  background: #fff2f0;
  color: #ff4d4f;
}

.file-icon.doc {
  background: #f0f5ff;
  color: #1890ff;
}

.file-icon.xls {
  background: #f6ffed;
  color: #52c41a;
}

.file-icon.img {
  background: #fff7e6;
  color: #fa8c16;
}

.file-icon.file {
  background: #f5f5f5;
  color: #666;
}

.file-name {
  font-weight: 500;
  color: #333;
}

.file-size {
  color: #999;
  font-size: 13px;
}

.file-date {
  color: #999;
  font-size: 13px;
}

.file-actions {
  display: flex;
  gap: 8px;
}

.file-action-btn {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: none;
  background: transparent;
  color: #999;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  transition: all 0.3s ease;
}

.file-action-btn:hover {
  background: #f5f5f5;
}

.file-action-btn.preview {
  color: #1890ff;
}

.file-action-btn.preview:hover {
  background: #e6f7ff;
}

.file-action-btn.download {
  color: #52c41a;
}

.file-action-btn.download:hover {
  background: #f6ffed;
}

.file-action-btn.delete {
  color: #ff4d4f;
}

.file-action-btn.delete:hover {
  background: #fff2f0;
}

/* 图片展示区域 */
.images-section {
  margin-bottom: 24px;
}

.images-section-title {
  font-size: 18px;
  font-weight: 600;
  color: #1a1a2e;
  margin-bottom: 16px;
  padding: 0 8px;
}

.images-grid {
  display: grid;
  padding: 10px;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
}

.image-card {
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}

.image-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.image-wrapper {
  position: relative;
  width: 100%;
  height: 200px;
  overflow: hidden;
  background: #f5f5f5;
}

.image-thumbnail {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.image-card:hover .image-thumbnail {
  transform: scale(1.05);
}

.image-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.image-card:hover .image-overlay {
  opacity: 1;
}

.image-action-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 0.9);
  color: #333;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: all 0.3s ease;
}

.image-action-btn:hover {
  background: #ffffff;
  transform: scale(1.1);
}

.image-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 16px;
}

.image-name {
  font-size: 14px;
  font-weight: 500;
  color: #333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.image-size {
  font-size: 12px;
  color: #999;
}

/* 空状态 */
.empty-state {
  padding: 80px 24px;
  text-align: center;
}

.empty-icon {
  font-size: 64px;
  color: #d9d9d9;
  margin-bottom: 20px;
}

.empty-text {
  font-size: 16px;
  color: #999;
  margin-bottom: 24px;
}

/* 文件预览模态框 */
.preview-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
  z-index: 1000;
  display: flex;
  flex-direction: column;
}

.preview-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  background: #ffffff;
}

.preview-title {
  font-size: 16px;
  font-weight: 600;
  color: #333;
}

.preview-close {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: #f5f5f5;
  color: #666;
  cursor: pointer;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s ease;
}

.preview-close:hover {
  background: #ff4d4f;
  color: #ffffff;
}

.preview-content {
  flex: 1;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #1a1a1a;
}

.preview-content iframe,
.preview-content embed,
.preview-content object {
  width: 100%;
  height: 100%;
  border: none;
}

.preview-image {
  max-width: 90%;
  max-height: 90%;
  object-fit: contain;
}

/* 响应式 */
@media (max-width: 768px) {
  .files-container {
    padding: 16px;
  }

  .files-header {
    flex-direction: column;
    gap: 16px;
    align-items: flex-start;
  }

  .files-actions {
    width: 100%;
  }

  .upload-btn {
    flex: 1;
    justify-content: center;
  }

  .files-table {
    font-size: 13px;
  }

  .files-table th,
  .files-table td {
    padding: 12px 16px;
  }

  .file-actions {
    flex-direction: column;
    gap: 4px;
  }
}.file-preview-page {
  display: flex;
  flex-direction: column;
  height: 100vh;
  background-color: #f5f5f5;
}

.file-preview-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  background-color: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  z-index: 10;
}

.file-preview-title {
  display: flex;
  align-items: center;
  font-size: 18px;
  font-weight: 500;
  color: #333;
}

.file-preview-actions {
  display: flex;
  align-items: center;
}

.file-preview-content {
  flex: 1;
  padding: 16px;
  overflow: auto;
  background-color: #fff;
}

.file-preview-content iframe {
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.file-preview-loading {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

/* 图片预览样式 */
.file-preview-image-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 20px;
}

.file-preview-image-element {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* Word 预览样式 */
.file-preview-word {
  padding: 20px;
  background-color: #fff;
  min-height: 100%;
}

.word-content {
  max-width: 800px;
  margin: 0 auto;
  line-height: 1.8;
  color: #333;
}

.word-content h1,
.word-content h2,
.word-content h3,
.word-content h4,
.word-content h5,
.word-content h6 {
  margin-top: 24px;
  margin-bottom: 16px;
  font-weight: 600;
  line-height: 1.25;
  color: #1a1a1a;
}

.word-content p {
  margin-bottom: 16px;
}

.word-content ul,
.word-content ol {
  padding-left: 2em;
  margin-bottom: 16px;
}

.word-content table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 16px;
}

.word-content th,
.word-content td {
  border: 1px solid #d0d7de;
  padding: 8px 12px;
  text-align: left;
}

.word-content th {
  background-color: #f6f8fa;
  font-weight: 600;
}

.word-content img {
  max-width: 100%;
  height: auto;
  margin: 16px 0;
}

.word-content a {
  color: #0969da;
  text-decoration: none;
}

.word-content a:hover {
  text-decoration: underline;
}

/* Excel 预览样式 */
.file-preview-excel {
  padding: 20px;
  background-color: #fff;
}

.excel-sheet {
  margin-bottom: 32px;
}

.excel-sheet-title {
  font-size: 16px;
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 2px solid #1890ff;
}

.excel-table-wrapper {
  overflow: auto;
  max-width: 100%;
  border: 1px solid #e8e8e8;
  border-radius: 4px;
}

.excel-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.excel-table .excel-cell {
  border: 1px solid #e8e8e8;
  padding: 8px 12px;
  text-align: left;
  min-width: 80px;
  word-break: break-word;
}

.excel-table .excel-cell:first-child {
  background-color: #fafafa;
  font-weight: 500;
}

.excel-table tr:nth-child(even) .excel-cell {
  background-color: #fafafa;
}

.excel-table tr:hover .excel-cell {
  background-color: #e6f7ff;
}

/* 打印样式 */
@media print {
  .file-preview-header {
    display: none;
  }
  
  .file-preview-page {
    height: auto;
  }
  
  .file-preview-content {
    padding: 0;
  }
  
  .file-preview-content iframe {
    box-shadow: none;
    border-radius: 0;
  }
}/* 系统设置页面样式 */
.settings-container {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #f5f7fa;
  height: 100%;
}

.settings-header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 24px;
  background: #ffffff;
  border-bottom: 1px solid #e8e8e8;
  flex-shrink: 0;
}

.settings-back-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: #f5f7fa;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  font-size: 14px;
  color: #333;
  cursor: pointer;
  transition: all 0.3s ease;
}

.settings-back-btn:hover {
  background: #e8e8e8;
}

.settings-title {
  font-size: 20px;
  font-weight: 600;
  color: #1a1a2e;
  margin: 0;
}

.settings-content {
  flex: 1;
  display: flex;
  overflow: hidden;
}

.settings-menu {
  width: 320px;
  background: #ffffff;
  border-right: 1px solid #e8e8e8;
  overflow-y: auto;
  padding: 16px;
}

.settings-menu-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-bottom: 8px;
}

.settings-menu-item:hover {
  background: #f5f7fa;
}

.settings-menu-item.active {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}

.settings-menu-item.active .settings-menu-title,
.settings-menu-item.active .settings-menu-desc {
  color: rgba(255, 255, 255, 0.9);
}

.settings-menu-item.active .settings-menu-arrow {
  color: rgba(255, 255, 255, 0.7);
}

.settings-menu-icon {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 12px;
  font-size: 20px;
  color: #ffffff;
  flex-shrink: 0;
}

.settings-menu-item.active .settings-menu-icon {
  background: rgba(255, 255, 255, 0.2);
}

.settings-menu-content {
  flex: 1;
  min-width: 0;
}

.settings-menu-title {
  font-size: 15px;
  font-weight: 600;
  color: #1a1a2e;
  margin: 0 0 4px 0;
}

.settings-menu-desc {
  font-size: 13px;
  color: #999;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.settings-menu-arrow {
  font-size: 24px;
  color: #ccc;
  flex-shrink: 0;
}

.settings-placeholder {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
}

.settings-placeholder-content {
  text-align: center;
  color: #999;
}

.settings-placeholder-icon {
  font-size: 80px;
  margin-bottom: 24px;
  opacity: 0.5;
}

.settings-placeholder-content h2 {
  font-size: 24px;
  font-weight: 600;
  color: #666;
  margin: 0 0 12px 0;
}

.settings-placeholder-content p {
  font-size: 15px;
  margin: 0;
}

/* 设置面板容器 */
.settings-panel-container {
  flex: 1;
  padding: 24px;
  overflow-y: auto;
}

/* 设置面板 */
.settings-panel {
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.settings-panel-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px 24px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
}

.settings-panel-icon {
  font-size: 24px;
}

.settings-panel-title {
  font-size: 18px;
  font-weight: 600;
  margin: 0;
}

.settings-panel-body {
  padding: 24px;
}

/* 密码表单 */
.password-form {
  max-width: 400px;
}

.password-form-item {
  margin-bottom: 20px;
}

.password-form-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  margin-bottom: 8px;
}

.password-form-label-icon {
  color: #667eea;
}

.password-form-input {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  font-size: 14px;
  color: #333;
  transition: all 0.3s ease;
  box-sizing: border-box;
}

.password-form-input:focus {
  border-color: #667eea;
  outline: none;
  box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.2);
}

.password-form-input:disabled {
  background: #f5f5f5;
  cursor: not-allowed;
}

.password-form-hint {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background: #fff7e6;
  border: 1px solid #ffe7ba;
  border-radius: 8px;
  font-size: 13px;
  color: #fa8c16;
  margin-bottom: 20px;
}

.hint-icon {
  font-size: 16px;
}

.password-submit-btn {
  width: 100%;
  padding: 12px 24px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s ease;
}

.password-submit-btn:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

.password-submit-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

/* 账户信息 */
.account-info {
  width: 400px;
}

.info-item {
  display: flex;
  justify-content: space-between;
  padding: 16px 0;
  border-bottom: 1px solid #e8e8e8;
}

.info-item:last-child {
  /* border-bottom: none; */
}

.info-label {
  font-size: 14px;
  color: #666;
  font-weight: 500;
}

.info-value {
  font-size: 14px;
  color: #333;
}

/* 响应式 */
@media (max-width: 768px) {
  .settings-content {
    flex-direction: column;
  }
  
  .settings-menu {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #e8e8e8;
  }
}
/* QE Form 样式 */

/* 子模块样式 */
.qe-form-subsection {
  margin-bottom: 2rem;
  padding: 1.5rem;
  background-color: #f9fafb;
  border-radius: 8px;
  border: 1px solid #ebeef5;
}

.qe-form-subsection-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: #409eff;
  margin: 0 0 1rem 0;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #e4e7ed;
}

/* 动态表格样式 */
.qe-form-dynamic-table {
  margin-top: 0.5rem;
}

.qe-form-table {
  width: 100%;
  border-collapse: collapse;
  background-color: #ffffff;
  border: 1px solid #ebeef5;
  border-radius: 6px;
  overflow: hidden;
}

.qe-form-table th,
.qe-form-table td {
  padding: 0.75rem 0.5rem;
  text-align: left;
  border-bottom: 1px solid #ebeef5;
}

.qe-form-table th {
  background-color: #f5f7fa;
  color: #606266;
  font-weight: 600;
  font-size: 0.8125rem;
}

.qe-form-table td:last-child {
  text-align: center;
}

.qe-form-table-select,
.qe-form-table-input {
  width: 100%;
  padding: 0.5rem;
  border: 1px solid #dcdfe6;
  border-radius: 4px;
  font-size: 0.8125rem;
  background-color: #ffffff;
}

.qe-form-table-select:focus,
.qe-form-table-input:focus {
  outline: none;
  border-color: #409eff;
  box-shadow: 0 0 0 2px rgba(64, 158, 255, 0.1);
}

.qe-form-btn-small {
  padding: 0.375rem 0.75rem;
  font-size: 0.75rem;
  border-radius: 4px;
}

.qe-form-btn-danger {
  background-color: #f56c6c;
  color: #ffffff;
  border: none;
}

.qe-form-btn-danger:hover:not(:disabled) {
  background-color: #f78989;
}

.qe-form-btn-secondary {
  background-color: #909399;
  color: #ffffff;
  border: none;
}

.qe-form-btn-secondary:hover:not(:disabled) {
  background-color: #a6a9b0;
}

.qe-form-input-readonly {
  padding: 0.625rem 0.875rem;
  border: 1px solid #e4e7ed;
  border-radius: 6px;
  font-size: 0.875rem;
  color: #909399;
  background-color: #f5f7fa;
}

/* QE Form 样式 */

.qe-form-page {
  min-height: 100vh;
  background-color: #f5f7fa;
  padding: 2rem;
  overflow-y: auto;
}

.qe-form-container {
  max-width: 900px;
  margin: 0 auto;
  background-color: #ffffff;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
  padding: 2rem;
  max-height: calc(100vh - 4rem);
  overflow-y: auto;
}

.qe-form-header {
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #e4e7ed;
}

.qe-form-page-title {
  font-size: 1.75rem;
  font-weight: 600;
  color: #303133;
  margin: 0 0 0.5rem 0;
}

.qe-form-sign-info {
  color: #909399;
  font-size: 0.875rem;
  margin: 0;
}

/* Section 容器 */
.qe-form-section {
  padding: 1rem 0;
}

.qe-form-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #409eff;
  margin: 0 0 1.5rem 0;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #ebeef5;
}

.qe-form-subtitle {
  font-size: 1rem;
  font-weight: 500;
  color: #606266;
  margin: 1.5rem 0 1rem 0;
}

/* 表单样式 */
.qe-form {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.qe-form-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.qe-form-group label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #606266;
}

.qe-form-group input[type="text"],
.qe-form-group input[type="email"],
.qe-form-group input[type="date"],
.qe-form-group input[type="month"],
.qe-form-group textarea,
.qe-form-group select {
  padding: 0.625rem 0.875rem;
  border: 1px solid #dcdfe6;
  border-radius: 6px;
  font-size: 0.875rem;
  color: #606266;
  transition: border-color 0.2s, box-shadow 0.2s;
  background-color: #ffffff;
}

.qe-form-group input:focus,
.qe-form-group textarea:focus,
.qe-form-group select:focus {
  outline: none;
  border-color: #409eff;
  box-shadow: 0 0 0 2px rgba(64, 158, 255, 0.2);
}

.qe-form-group textarea {
  resize: vertical;
  min-height: 80px;
}

.qe-form-group select {
  cursor: pointer;
}

/* 行布局 */
.qe-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

@media (max-width: 600px) {
  .qe-form-row {
    grid-template-columns: 1fr;
  }
}

/* 单选框和复选框 */
.qe-form-radio-group {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.qe-form-radio {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  font-weight: normal;
}

.qe-form-radio input[type="radio"] {
  width: 16px;
  height: 16px;
  cursor: pointer;
}

.qe-form-checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  cursor: pointer;
  padding: 0.75rem;
  background-color: #f8f9fa;
  border-radius: 6px;
  transition: background-color 0.2s;
}

.qe-form-checkbox-label:hover {
  background-color: #f0f2f5;
}

.qe-form-checkbox-label input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  cursor: pointer;
}

.qe-form-checkbox-text {
  font-size: 0.875rem;
  color: #606266;
  line-height: 1.5;
}

/* 预览区域 */
.qe-form-preview {
  background-color: #f8f9fa;
  border: 1px solid #ebeef5;
  border-radius: 8px;
  padding: 1.25rem;
  margin-bottom: 1.5rem;
}

.qe-form-preview-title {
  font-size: 1rem;
  font-weight: 600;
  color: #909399;
  margin: 0 0 1rem 0;
  padding-bottom: 0.5rem;
  border-bottom: 1px dashed #dcdfe6;
}

.qe-form-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem;
}

.qe-form-preview-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.qe-form-preview-item-full {
  grid-column: 1 / -1;
}

.qe-form-preview-label {
  font-size: 0.75rem;
  color: #909399;
  font-weight: 500;
}

.qe-form-preview-value {
  font-size: 0.875rem;
  color: #303133;
  overflow: auto;
  white-space: normal;
  overflow-wrap: break-word;
}

/* 按钮 */
.qe-form-actions {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #ebeef5;
}

.qe-form-btn {
  padding: 0.75rem 2rem;
  font-size: 0.875rem;
  font-weight: 500;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
}

.qe-form-btn-primary {
  background-color: #409eff;
  color: #ffffff;
}

.qe-form-btn-primary:hover {
  background-color: #66b1ff;
}

.qe-form-btn-primary:active {
  background-color: #3a8ee6;
}

.qe-form-btn:disabled {
  background-color: #a0cfff;
  cursor: not-allowed;
}

.qe-form-btn-warning {
  background-color: #ff9800 !important;
  color: #ffffff !important;
}

.qe-form-btn-warning:hover {
  background-color: #ffb74d !important;
}

.qe-form-btn-warning:active {
  background-color: #f57c00 !important;
}

/* 消息提示 */
.qe-form-message {
  padding: 0.875rem 1rem;
  border-radius: 6px;
  font-size: 0.875rem;
  margin-bottom: 1.25rem;
}

.qe-form-message-success {
  background-color: #f0f9eb;
  color: #67c23a;
  border: 1px solid #e1f3d8;
}

.qe-form-message-error {
  background-color: #fef0f0;
  color: #f56c6c;
  border: 1px solid #fde2e2;
}

/* 加载状态 */
.qe-form-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3rem;
  font-size: 1rem;
  color: #909399;
}

/* 错误状态 */
.qe-form-error {
  text-align: center;
  padding: 3rem 2rem;
  color: #f56c6c;
}

.qe-form-error h2 {
  font-size: 1.25rem;
  margin-bottom: 1rem;
}

.qe-form-error p {
  font-size: 0.875rem;
  color: #909399;
  margin: 0.5rem 0;
}

/* 信息提示 */
.qe-form-info-tip {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  background-color: #e6f7ff;
  border: 1px solid #91d5ff;
  border-radius: 6px;
  margin-bottom: 1.25rem;
  font-size: 0.875rem;
  color: #0050b3;
}

.qe-form-info-tip-icon {
  font-size: 1rem;
}

.qe-form-info-tip-text {
  color: #0050b3;
}

/* 警告信息提示 */
.qe-form-info-tip-warning {
  background-color: #fff7e6 !important;
  border-color: #ffd591 !important;
  color: #d46b08 !important;
}

.qe-form-info-tip-warning .qe-form-info-tip-icon,
.qe-form-info-tip-warning .qe-form-info-tip-text {
  color: #d46b08 !important;
}

/* 未填写字段的黄色背景标识 */
.qe-form-input-empty {
  background-color: #fffbe6 !important;
  border-color: #ffe58f !important;
}

.qe-form-input-empty:focus {
  background-color: #fff !important;
}

/* 高亮字段样式 */
.qe-form-highlight-field {
  background-color: #fffbe6;
  padding: 0.125rem 0.375rem;
  border-radius: 3px;
  font-weight: 500;
}

/* 语言切换按钮 */
.qe-form-header-with-lang {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #ebeef5;
}

.qe-form-header-with-lang .qe-form-title {
  margin: 0;
  padding: 0;
  border: none;
}

.qe-form-lang-btn {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #409eff;
  background-color: #ffffff;
  border: 1px solid #409eff;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}

.qe-form-lang-btn:hover {
  background-color: #409eff;
  color: #ffffff;
}

.qe-form-lang-btn:active {
  background-color: #3a8ee6;
  border-color: #3a8ee6;
}

/* 成功状态 */
.qe-form-success {
  text-align: center;
  padding: 3rem 2rem;
  background-color: #f0f9eb;
  border: 1px solid #e1f3d8;
  border-radius: 8px;
}

.qe-form-success h2 {
  font-size: 1.5rem;
  color: #67c23a;
  margin-bottom: 1rem;
}

.qe-form-success p {
  font-size: 1rem;
  color: #606266;
  margin: 0.5rem 0;
}

.qe-form-success-thanks {
  font-size: 1.125rem !important;
  font-weight: 500;
  color: #409eff !important;
  margin-top: 1.5rem !important;
  padding-top: 1rem !important;
  border-top: 1px dashed #dcdfe6 !important;
}

/* 签名图片预览 */
.qe-form-signature-preview {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.75rem;
  background-color: #fff;
  border: 1px solid #e4e7ed;
  border-radius: 6px;
  margin-top: 0.5rem;
  position: relative;
}

.qe-form-signature-image {
  max-width: 200px;
  max-height: 100px;
  object-fit: contain;
  border: 1px dashed #dcdfe6;
  border-radius: 4px;
  padding: 0.25rem;
}

/* 签名图片悬停操作按钮 */
.qe-form-signature-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  gap: 0.5rem;
  opacity: 0;
  transition: opacity 0.2s;
  pointer-events: none;
  z-index: 10;
}

.qe-form-signature-preview:hover .qe-form-signature-overlay {
  opacity: 1;
  pointer-events: auto;
}

.qe-form-signature-overlay-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 1rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.qe-form-signature-overlay-btn-view {
  background-color: #409eff;
  color: #ffffff;
}

.qe-form-signature-overlay-btn-view:hover {
  background-color: #66b1ff;
}

.qe-form-signature-overlay-btn-upload {
  background-color: #67c23a;
  color: #ffffff;
}

.qe-form-signature-overlay-btn-upload:hover {
  background-color: #85ce61;
}

/* 签名图片放大预览模态框 */
.qe-form-signature-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  animation: qe-form-fade-in 0.2s ease-in-out;
}

/* 初始上传按钮样式（无签名时） */
.qe-form-signature-upload-placeholder {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100px;
  background-color: #f9f9f9;
  border: 2px dashed #dcdfe6;
  border-radius: 6px;
  transition: all 0.2s;
}

.qe-form-signature-upload-placeholder:hover {
  border-color: #409eff;
  background-color: #f0f7ff;
}

.qe-form-signature-upload-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  padding: 1rem 1.5rem;
  border-radius: 8px;
  transition: all 0.2s;
}

.qe-form-signature-upload-btn:hover {
  background-color: rgba(64, 158, 255, 0.1);
}

.qe-form-signature-upload-icon {
  font-size: 2rem;
}

.qe-form-signature-upload-text {
  font-size: 0.875rem;
  color: #606266;
  font-weight: 500;
}

@keyframes qe-form-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.qe-form-signature-modal {
  position: relative;
  max-width: 90%;
  max-height: 90%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.qe-form-signature-modal-image {
  max-width: 100%;
  max-height: 85vh;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
  background-color: #ffffff;
  padding: 1rem;
}

.qe-form-signature-modal-close {
  position: absolute;
  top: -40px;
  right: 0;
  width: 32px;
  height: 32px;
  border: none;
  background-color: rgba(255, 255, 255, 0.9);
  color: #303133;
  border-radius: 50%;
  cursor: pointer;
  font-size: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.qe-form-signature-modal-close:hover {
  background-color: #ffffff;
  transform: scale(1.1);
}

/* 紧凑预览区域样式 */
.qe-form-preview-compact {
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
}

.qe-form-preview-title-compact {
  font-size: 0.875rem;
  margin-bottom: 0.5rem;
}

/* Time Slots 样式 */
.time-slots-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.time-slot-item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.75rem;
  background-color: #f8f9fa;
  border-radius: 6px;
  border: 1px solid #ebeef5;
  transition: all 0.2s;
}

.time-slot-item:hover {
  background-color: #f0f2f5;
  border-color: #409eff;
}

.time-slot-date {
  font-size: 0.875rem;
  font-weight: 600;
  color: #303133;
  text-align: center;
  padding-bottom: 0.5rem;
  border-bottom: 1px dashed #dcdfe6;
}

.time-slot-options {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.time-slot-options-row {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
}

.time-slot-options-row-none {
  padding-top: 0.5rem;
  border-top: 1px dashed #e4e7ed;
}

.time-slot-option {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  cursor: pointer;
  font-size: 0.75rem;
  color: #606266;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  transition: all 0.2s;
  white-space: nowrap;
}

.time-slot-option:hover {
  background-color: #e6f7ff;
}

.time-slot-option input[type="radio"] {
  width: 14px;
  height: 14px;
  cursor: pointer;
  margin: 0;
}

.time-slot-option span {
  font-weight: 500;
}

/* 不空闲选项样式 */
.time-slot-option-none {
  background-color: #fef0f0;
  border: 1px solid #fde2e2;
  width: 100%;
  justify-content: center;
}

.time-slot-option-none:hover {
  background-color: #fde2e2;
}

.time-slot-option-none input[type="radio"]:checked + span {
  color: #f56c6c;
  font-weight: 600;
}

.qe-form-no-data {
  text-align: center;
  padding: 2rem;
  color: #909399;
  font-size: 0.875rem;
}

.qe-form-date-input {
  padding: 0.625rem 0.875rem;
  border: 1px solid #dcdfe6;
  border-radius: 6px;
  font-size: 0.875rem;
  color: #606266;
  transition: border-color 0.2s, box-shadow 0.2s;
  background-color: #ffffff;
  cursor: pointer;
  width: 100%;
  box-sizing: border-box;
}

.qe-form-date-input:focus {
  outline: none;
  border-color: #409eff;
  box-shadow: 0 0 0 2px rgba(64, 158, 255, 0.2);
}

.qe-form-btn-secondary {
  background-color: #909399;
  color: #ffffff;
}

.qe-form-btn-secondary:hover {
  background-color: #a6a9ad;
}

.qe-form-btn-secondary:active {
  background-color: #82848a;
}

.qe-form-btn-secondary:disabled {
  background-color: #c0c4cc;
  cursor: not-allowed;
}

/* 日历样式时间段选择 */
.time-slots-calendar-header {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0.25rem;
  margin-bottom: 0.25rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid #e4e7ed;
}

.time-slots-calendar-header-cell {
  text-align: center;
  font-weight: 600;
  font-size: 0.75rem;
  color: #606266;
}

.time-slots-calendar {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0.25rem;
  margin-bottom: 1.5rem;
}

.time-slot-calendar-day {
  background-color: #ffffff;
  border: 1px solid #e4e7ed;
  border-radius: 4px;
  overflow: hidden;
  transition: all 0.2s;
  display: flex;
  flex-direction: column;
}

.time-slot-calendar-day:hover {
  border-color: #409eff;
  box-shadow: 0 1px 4px rgba(64, 158, 255, 0.15);
}

.time-slot-calendar-day-date {
  padding: 0.375rem;
  text-align: center;
  background-color: #f5f7fa;
  border-bottom: 1px solid #e4e7ed;
  font-weight: 600;
  font-size: 0.7rem;
  color: #606266;
}

.time-slot-calendar-day-slots {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.time-slot-calendar-slot {
  flex: 1;
  min-height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 0.65rem;
  font-weight: 500;
  border-bottom: 1px solid #f0f0f0;
}

.time-slot-calendar-slot:last-child {
  border-bottom: none;
}

.time-slot-calendar-slot-am {
  background-color: #f9f9f9;
  color: #909399;
}

.time-slot-calendar-slot-am:hover {
  background-color: #f0f9eb;
}

.time-slot-calendar-slot-am.selected-original {
  background-color: #b3d8ff;
  color: #ffffff;
}

.time-slot-calendar-slot-am.selected {
  background-color: #67c23a;
  color: #303133;
}

.time-slot-calendar-slot-am.selected-changed {
  background-color: #e6a23c;
  color: #ffffff;
}

.time-slot-calendar-slot-pm {
  background-color: #f9f9f9;
  color: #909399;
}

.time-slot-calendar-slot-pm:hover {
  background-color: #f0f9eb;
}

.time-slot-calendar-slot-pm.selected-original {
  background-color: #b3d8ff;
  color: #ffffff;
}

.time-slot-calendar-slot-pm.selected {
  background-color: #67c23a;
  color: #303133;
}

.time-slot-calendar-slot-pm.selected-changed {
  background-color: #e6a23c;
  color: #ffffff;
}

.time-slot-calendar-slot-all {
  background-color: #67c23a;
  color: #ffffff;
}

.time-slot-calendar-slot-none {
  background-color: #f56c6c;
  color: #ffffff;
}

.time-slot-calendar-slot-readonly {
  cursor: not-allowed;
  opacity: 0.7;
}

.time-slot-calendar-slot-readonly:hover {
  background-color: inherit;
  color: inherit;
}

/* 前置日期样式 */
.time-slot-calendar-day-prefill {
  background-color: #ffffff;
  border-color: #e4e7ed;
}

.time-slot-calendar-day-prefill .time-slot-calendar-day-slots {
  /* 前置日期的 AM/PM 框样式由 selected-original 或 selected 类控制 */
}

/* 周末日期样式 */
.time-slot-calendar-day-weekend {
  background-color: #ecf5ff;
  border-color: #d9ecff;
}

/* 导师选择框行布局 */
.qe-form-supervisor-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.qe-form-supervisor-row select {
  flex: 1;
  min-width: 0;
}

.qe-form-supervisor-separator {
  color: #909399;
  font-weight: bold;
  font-size: 1rem;
}

@media (max-width: 600px) {
  .qe-form-supervisor-row {
    flex-direction: column;
    align-items: stretch;
  }
  
  .qe-form-supervisor-separator {
    display: none;
  }
}

.time-slot-calendar-day-date-full {
  padding: 0.5rem;
  text-align: center;
  font-weight: 600;
  font-size: 0.75rem;
  color: #409eff;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
}

/* 时间段卡片头部 */
.time-slot-item-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 0.5rem;
  border-bottom: 1px dashed #dcdfe6;
}

.time-slot-remove-btn {
  width: 20px;
  height: 20px;
  border: none;
  background-color: transparent;
  color: #f56c6c;
  cursor: pointer;
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.2s;
}

.time-slot-remove-btn:hover {
  background-color: #fef0f0;
}

.time-slot-remove-btn:disabled {
  color: #c0c4cc;
  cursor: not-allowed;
}

/* 添加日期按钮样式 */
.time-slot-add-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  background-color: #f0f9eb;
  border: 2px dashed #67c23a;
  cursor: pointer;
  transition: all 0.2s;
}

.time-slot-add-item:hover {
  background-color: #e6f7ff;
  border-color: #409eff;
}

.time-slot-add-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1rem;
  color: #67c23a;
  font-weight: 500;
  transition: all 0.2s;
}

.time-slot-add-btn:hover {
  color: #409eff;
}

.time-slot-add-btn:disabled {
  color: #c0c4cc;
  cursor: not-allowed;
}

.time-slot-add-icon {
  font-size: 1.25rem;
  font-weight: bold;
}

/* 模态框样式 */
.time-slot-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.time-slot-modal {
  background-color: #ffffff;
  border-radius: 8px;
  padding: 1.5rem;
  min-width: 300px;
  max-width: 90%;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.time-slot-modal-title {
  font-size: 1rem;
  font-weight: 600;
  color: #303133;
  margin: 0 0 1rem 0;
}

.time-slot-modal-date {
  margin-bottom: 1rem;
}

.time-slot-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
}

/* Time Slots Panel 特殊样式 */

/* 锁定状态的卡片 */
.time-slot-item-locked {
  background-color: #f5f7fa;
  border-color: #e4e7ed;
  opacity: 0.85;
}

/* 锁定徽章 */
.time-slot-locked-badge {
  font-size: 1rem;
  cursor: help;
}

/* 只读提示 */
.time-slot-readonly-hint {
  font-size: 0.7rem;
  color: #909399;
  text-align: center;
  padding-top: 0.25rem;
  margin-top: 0.25rem;
  border-top: 1px dashed #e4e7ed;
}

/* 只读选项样式 */
.time-slot-option-readonly {
  opacity: 0.6;
  cursor: not-allowed;
}

.time-slot-option-readonly:hover {
  background-color: transparent;
}

/* 复选框容器 */
.qe-form-checkbox-container {
  padding: 0.75rem 1rem;
  background-color: #fef0f0;
  border: 1px solid #fde2e2;
  border-radius: 6px;
  margin-bottom: 1rem;
}

.qe-form-checkbox-label-all {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  cursor: pointer;
  font-weight: 500;
  color: #f56c6c;
}

.qe-form-checkbox-label-all input[type="checkbox"] {
  width: 18px;
  height: 18px;
  cursor: pointer;
}

.qe-form-checkbox-text-all {
  font-size: 0.875rem;
  color: #f56c6c;
}
/* 主布局样式 - 固定布局，页面整体不滚动 */
.main-layout {
  height: 100vh;
  width: 100%;
  display: flex;
  flex-direction: column;
  background: #f5f7fa;
  overflow: hidden; /* 防止页面整体滚动 */
}

/* 顶部导航栏 */
.main-header {
  height: 60px;
  background: #ffffff;
  border-bottom: 1px solid #e8e8e8;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  z-index: 100;
}

.header-left {
  display: flex;
  align-items: center;
  gap: 16px;
}

.menu-toggle {
  font-size: 20px;
  color: #666;
  cursor: pointer;
  padding: 8px;
  border-radius: 6px;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.menu-toggle:hover {
  background: #f5f5f5;
  color: var(--primary-color-start);
}

.header-logo {
  display: flex;
  align-items: center;
  gap: 12px;
}

.header-logo-img {
  width: 36px;
  height: 36px;
  object-fit: contain;
}

.header-logo-text {
  font-size: 18px;
  font-weight: 600;
  color: #1a1a2e;
}

.header-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

.header-user {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px;
  border-radius: 8px;
  transition: all 0.3s ease;
}

.header-user-avatar {
  width: 32px;
  height: 32px;
  border-radius: 5px;
  background: var(--primary-gradient);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  overflow: hidden;
}

.header-user-name {
  font-size: 14px;
  color: #333;
  font-weight: 500;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.header-action-btn {
  padding: 8px 12px;
  border-radius: 8px;
  border: none;
  background: transparent;
  color: #666;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
}

.header-action-btn:hover {
  background: #f5f5f5;
  color: var(--primary-color-start);
}

.header-action-btn.logout {
  color: #ff4d4f;
}

.header-action-btn.logout:hover {
  background: #fff2f0;
}

.header-login-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 8px;
  border: none;
  background: var(--primary-gradient);
  color: #ffffff;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.3s ease;
}

.header-login-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px var(--primary-shadow);
}

/* 主体内容区 */
.main-body {
  flex: 1;
  display: flex;
  overflow: hidden;
}

/* 左侧边栏 */
.main-sidebar {
  width: 280px;
  background: #ffffff;
  border-right: 1px solid #e8e8e8;
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
  overflow: hidden;
  height: 100%;
}

.main-sidebar.collapsed {
  width: 0;
  border-right: none;
}

.sidebar-header {
  padding: 16px 20px;
  border-bottom: 1px solid #e8e8e8;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.sidebar-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: center;
}

.sidebar-logo-img {
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.sidebar-logo-text {
  font-size: 16px;
  font-weight: 600;
  color: #1a1a2e;
}

.sidebar-new-chat-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 8px;
  border: 1px solid var(--primary-color-start);
  background: var(--primary-gradient);
  color: #ffffff;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.3s ease;
  white-space: nowrap;
}

.sidebar-new-chat-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px var(--primary-shadow);
}

.sidebar-new-chat-btn .anticon {
  font-size: 16px;
}

/* 会话列表区域 */
.sidebar-chat-list {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 8px;
}

.sidebar-chat-list::-webkit-scrollbar {
  width: 4px;
}

.sidebar-chat-list::-webkit-scrollbar-track {
  background: transparent;
}

.sidebar-chat-list::-webkit-scrollbar-thumb {
  background: #e8e8e8;
  border-radius: 2px;
}

.chat-list-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  text-align: center;
  color: #999;
}

.chat-list-loading .loading-spinner {
  margin-bottom: 12px;
}

.chat-list::-webkit-scrollbar-track {
  background: transparent;
}

.chat-list::-webkit-scrollbar-thumb {
  background: #e8e8e8;
  border-radius: 2px;
}

.chat-list::-webkit-scrollbar-thumb:hover {
  background: #d8d8d8;
}

.chat-list-item {
  padding: 12px 16px;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.chat-list-item:hover {
  background: #f5f5f5;
}

.chat-list-item.active {
  background: var(--primary-light);
  border: 1px solid var(--primary-light-2);
}

.chat-list-item-icon {
  font-size: 18px;
  color: #999;
}

.chat-list-item.active .chat-list-item-icon {
  color: var(--primary-color-start);
}

.chat-list-item-content {
  flex: 1;
  min-width: 0;
}

.chat-list-item-title {
  font-size: 14px;
  color: #333;
  font-weight: 500;
  margin-bottom: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.chat-list-item-title-input {
  width: 100%;
  font-size: 14px;
  color: #333;
  font-weight: 500;
  padding: 6px 8px;
  border: 1px solid var(--primary-color-start);
  border-radius: 6px;
  outline: none;
  background: #ffffff;
  margin-bottom: 4px;
}

.chat-list-item-title-input:focus {
  border-color: var(--primary-color-end);
  box-shadow: 0 0 0 2px rgba(0, 113, 255, 0.1);
}

.chat-list-item-date {
  font-size: 12px;
  color: #999;
}

.chat-list-item-actions {
  display: flex;
  gap: 4px;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.chat-list-item:hover .chat-list-item-actions {
  opacity: 1;
}

.chat-list-item-action {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  border: none;
  background: transparent;
  color: #999;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  transition: all 0.3s ease;
}

.chat-list-item-action:hover {
  background: #fff2f0;
  color: #ff4d4f;
}

/* 暂未登录状态 */
.sidebar-not-logged-in {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  text-align: center;
}

.not-logged-in-icon {
  font-size: 48px;
  margin-bottom: 16px;
  opacity: 0.5;
}

.not-logged-in-text {
  font-size: 16px;
  font-weight: 600;
  color: #666;
  margin-bottom: 8px;
}

.not-logged-in-hint {
  font-size: 13px;
  color: #999;
}

/* 侧边栏底部 */
.sidebar-footer {
  padding: 16px;
  border-top: 1px solid #e8e8e8;
}

.sidebar-profile {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: 10px;
  background: #f5f5f5;
  cursor: pointer;
  transition: all 0.3s ease;
}

.sidebar-profile:hover {
  background: #e8e8e8;
}

.sidebar-profile-avatar {
  width: 40px;
  height: 40px;
  border-radius: 5px;
  background: var(--primary-gradient);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 16px;
  font-weight: 600;
  overflow: hidden;
}

.sidebar-profile-info {
  flex: 1;
  min-width: 0;
}

.sidebar-profile-name {
  font-size: 14px;
  color: #333;
  font-weight: 600;
  margin-bottom: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidebar-profile-email {
  font-size: 12px;
  color: #999;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 主内容区 */
.main-content {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* 响应式 */
@media (max-width: 768px) {
  .main-sidebar {
    position: fixed;
    left: 0;
    top: 60px;
    bottom: 0;
    z-index: 99;
    width: 280px;
    transform: translateX(-100%);
  }

  .main-sidebar.show {
    transform: translateX(0);
  }

  .main-sidebar.collapsed {
    width: 280px;
    transform: translateX(-100%);
  }

  .header-logo-text {
    display: none;
  }

  .header-user-name {
    display: none;
  }
}/* 报销管理系统 Header 样式 */
.reimbursement-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 60px;
  background: #ffffff;
  border-bottom: 1px solid #e8e8e8;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  z-index: 1000;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.header-left {
  display: flex;
  align-items: center;
  gap: 16px;
}
.ant-list-items .ant-list-item{
  height: 130px;
  border: 1px solid #1890ff;
  margin: 0 0 10px 0 !important;
}
.ant-spin-container{
  padding: 0 0 10px 0 !important;
}
.header-logo {
  display: flex;
  align-items: center;
  gap: 8px;
}

.header-logo-text {
  font-size: 18px;
  font-weight: 600;
  color: #1a1a2e;
}

.header-right {
  display: flex;
  align-items: center;
  gap: 12px;
}

.header-user {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  background: #f5f7fa;
  border-radius: 20px;
}

.header-user-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
}

.header-user-name {
  font-size: 14px;
  color: #333;
  white-space: nowrap;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.header-action-btn {
  padding: 8px 12px;
  border: none;
  background: transparent;
  color: #666;
  cursor: pointer;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: all 0.3s ease;
}

.header-action-btn:hover {
  background: #f5f5f5;
  color: #667eea;
}

.header-action-btn.logout {
  color: #ff4d4f;
}

.header-action-btn.logout:hover {
  background: #fff2f0;
}

.header-login-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.3s ease;
}

.header-login-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

/* 为固定头部预留空间，给页面内容添加顶部 padding */
/* 注意：各个页面的 CSS 文件已单独设置 padding-top */
/* 整体布局：三栏布局 */
.reimbursement-list-page {
  display: flex;
  height: calc(100vh - 60px);
  background-color: #f5f5f5;
  overflow: hidden;
}

/* 左侧我的单据面板 */
.my-documents-panel {
  width: 320px;
  min-width: 320px;
  background-color: #fff;
  border-right: 1px solid #f0f0f0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  border-bottom: 1px solid #f0f0f0;
}

.panel-title {
  font-size: 16px;
  font-weight: 600;
  color: #333;
}

.panel-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.panel-search {
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
  display: flex;
  align-items: center;
}

.panel-search .ant-input-search {
  height: 32px;
}

.panel-search .ant-input-search .ant-input {
  height: 24px;
  line-height: 40px;
}

/* .panel-search .ant-input-search .ant-input-group-addon {
  height: 28px;
  line-height: 32px;
} */

.panel-filter {
  padding: 8px 16px;
  border-bottom: 1px solid #f0f0f0;
  background-color: #fafafa;
}

.documents-list {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}

/* 单据列表项 */
.document-item {
  padding: 12px;
  margin-bottom: 8px;
  background-color: #fff;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
}

.document-item:hover {
  border-color: #1890ff;
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.1);
}

.document-item.selected {
  border-color: #1890ff;
  background-color: #e6f7ff;
}

.document-status-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  margin-bottom: 8px;
}

.status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
}

.status-dot.green { background-color: #52c41a; }
.status-dot.orange { background-color: #faad14; }
.status-dot.blue { background-color: #1890ff; }
.status-dot.red { background-color: #ff4d4f; }
.status-dot.default { background-color: #d9d9d9; }

.document-info {
  margin-bottom: 8px;
}

.document-title {
  font-size: 14px;
  font-weight: 500;
  color: #333;
  margin-bottom: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.document-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 12px;
  color: #999;
}

.document-amount {
  font-size: 16px;
  font-weight: 600;
  color: #333;
  text-align: right;
}

/* 中间详情主面板 */
.detail-main-panel {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-width: 0;
  position: relative;
}

.detail-main-content {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
  min-height: 0;
}

.detail-container {
  background-color: #fff;
  border-radius: 8px;
  padding: 24px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* 详情头部区域 */
.detail-header-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 20px;
}

.detail-header-main {
  flex: 1;
}

.detail-title-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 4px;
}

.detail-main-title {
  font-size: 18px;
  font-weight: 600;
  color: #333;
}

.detail-sub-info {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #666;
}

.detail-sub-info .divider {
  color: #d9d9d9;
}

.detail-actions-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

/* 基本信息区域 */
.detail-info-section {
  margin-bottom: 24px;
}

.info-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 20px;
}

.info-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.info-label {
  font-size: 13px;
  color: #999;
}

.info-value {
  font-size: 14px;
  color: #333;
}

.total-amount-display {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
  background-color: #fafafa;
  border-radius: 8px;
}

.total-label {
  font-size: 14px;
  color: #666;
}

.total-value {
  font-size: 24px;
  font-weight: 600;
  color: #fa541c;
}

/* 通用区块样式 */
.detail-section {
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid #f0f0f0;
}

.detail-section:last-child {
  border-bottom: none;
}

.section-title-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

/* 费用明细表格 */
.expense-table-wrapper {
  overflow-x: auto;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
}

.expense-table {
  min-width: 100%;
  border-collapse: collapse;
}

.expense-table-header {
  display: flex;
  align-items: center;
  background-color: #fafafa;
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
  font-size: 13px;
  font-weight: 500;
  color: #333;
  min-width: 800px;
}

.expense-table-row {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
  font-size: 13px;
  min-width: 800px;
}

.expense-table-row:last-child {
  border-bottom: none;
}

.expense-table-row:hover {
  background-color: #e6f7ff;
}

.expense-table-row {
  cursor: pointer;
  transition: background-color 0.2s;
}

.header-cell, .cell {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cell.amount {
  color: #fa541c;
  font-weight: 600;
}

/* 收款信息卡片 */
.payee-info-card {
  background-color: #f5f7fa;
  border-radius: 8px;
  padding: 16px 20px;
}

.payee-info-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.payee-info-left {
  display: flex;
  align-items: center;
}

.payee-name {
  font-size: 14px;
  font-weight: 600;
  color: #333;
}

.payee-card-number {
  font-size: 18px;
  font-weight: 600;
  color: #333;
  letter-spacing: 2px;
  margin-bottom: 12px;
  font-family: 'Courier New', monospace;
}

.payee-info-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  color: #666;
}

.payee-bank-info {
  display: flex;
  align-items: center;
  gap: 6px;
}

.bank-icon {
  font-size: 14px;
}

.payee-owner {
  color: #999;
}

/* 备注内容 */
.remark-content {
  padding: 12px;
  background-color: #fffbe6;
  border: 1px solid #ffe58f;
  border-radius: 6px;
  font-size: 14px;
  color: #666;
}

/* 状态卡片 */
.status-card {
  padding: 16px;
  background-color: #f5f5f5;
  border-radius: 8px;
}

/* 审批流程列表 */
.approval-flow-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.approval-flow-item {
  padding: 12px;
  background-color: #fafafa;
  border-radius: 6px;
  position: relative;
}

.approval-flow-item::before {
  content: '';
  position: absolute;
  left: 16px;
  top: 20px;
  bottom: -16px;
  width: 1px;
  background-color: #f0f0f0;
}

.approval-flow-item:last-child::before {
  display: none;
}

/* 右侧审批流程面板 */
.approval-flow-panel {
  width: 400px;
  min-width: 300px;
  background-color: #fff;
  border-left: 1px solid #f0f0f0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.flow-tabs {
  display: flex;
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
  gap: 16px;
}

.tab-item {
  font-size: 14px;
  color: #666;
  cursor: pointer;
  padding: 4px 0;
  position: relative;
}

.tab-item.active {
  color: #1890ff;
  font-weight: 500;
}

.tab-item.active::after {
  content: '';
  position: absolute;
  bottom: -12px;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #1890ff;
}

.flow-content {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
}

/* 详情操作按钮 */
.detail-actions {
  display: flex;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid #f0f0f0;
  margin-top: 16px;
}

/* 加载和空状态 */
.loading-expense {
  display: flex;
  justify-content: center;
  padding: 40px;
}

.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 200px;
  gap: 16px;
}

.detail-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 300px;
}

/* 响应式设计 */
@media (max-width: 1200px) {
  .approval-flow-panel {
    display: none;
  }
}

@media (max-width: 900px) {
  .my-documents-panel {
    width: 280px;
    min-width: 280px;
  }
  
  .info-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}/* 费用明细详情抽屉 */
.expense-detail-drawer .ant-drawer-content {
  border-radius: 0;
  overflow: hidden;
}

.expense-detail-drawer .ant-drawer-header {
  padding: 0;
  border-bottom: none;
  height: auto;
  background-color: #f5f7fa;
}

.expense-detail-drawer .ant-drawer-body {
  padding: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: #f5f7fa;
}

.expense-detail-drawer .ant-drawer-close {
  display: none;
}

/* 弹窗头部 - 白色卡片样式 */
.expense-detail-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background-color: #fff;
  margin: 16px;
  margin-bottom: 0;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.expense-detail-header-left {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
}

.expense-detail-header-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

.expense-detail-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 18px;
  flex-shrink: 0;
}

.expense-detail-title {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  overflow: hidden;
  min-width: 0;
}

.expense-detail-title-main {
  font-size: 14px;
  font-weight: 500;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.expense-detail-title-sub {
  font-size: 12px;
  color: #999;
}

.expense-detail-amount {
  font-size: 18px;
  font-weight: 600;
  color: #333;
  white-space: nowrap;
}

/* 弹窗内容区域 */
.expense-detail-content {
  padding: 16px 20px 0;
  background-color: #f5f7fa;
  flex: 1;
  overflow-y: auto;
}

.expense-detail-card {
  background-color: #fff;
  border-radius: 12px;
  padding: 20px 24px;
}

/* 详情字段行 */
.expense-detail-row {
  display: flex;
  margin-bottom: 20px;
  gap: 24px;
}

.expense-detail-row:last-child {
  margin-bottom: 0;
}

.expense-detail-row.vertical {
  flex-direction: column;
  gap: 12px;
  margin-top: 16px;
}

.expense-detail-col {
  flex: 1;
  min-width: 0;
}

.expense-detail-label {
  font-size: 12px;
  color: #999;
  margin-bottom: 8px;
}

.expense-detail-label::after {
  content: ':';
  margin-left: 2px;
}

.expense-detail-value {
  font-size: 14px;
  color: #333;
  line-height: 1.6;
}

.expense-detail-value.amount {
  font-size: 16px;
  font-weight: 600;
  color: #333;
}

/* 分隔线 */
.expense-detail-divider {
  height: 1px;
  background-color: #f0f0f0;
  margin: 16px 0;
}

/* 附件列表 */
.expense-detail-attachments {
  margin-top: 8px;
  width: 100%;
}

.expense-detail-attachment-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background-color: #f5f7fa;
  border-radius: 8px;
  margin-bottom: 10px;
  transition: all 0.2s;
}

.expense-detail-attachment-item:last-child {
  margin-bottom: 0;
}

.expense-detail-attachment-item:hover {
  background-color: #e6f7ff;
}

.expense-detail-attachment-left {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  overflow: hidden;
  min-width: 0;
}

.expense-detail-attachment-icon {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  flex-shrink: 0;
}

.expense-detail-attachment-icon.image {
  background-color: #e6f7ff;
  color: #1890ff;
}

.expense-detail-attachment-icon.pdf {
  background-color: #fff1f0;
  color: #ff4d4f;
}

.expense-detail-attachment-icon.file {
  background-color: #f6ffed;
  color: #52c41a;
}

.expense-detail-attachment-name {
  font-size: 13px;
  color: #333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
}

.expense-detail-attachment-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.expense-detail-attachment-actions .ant-btn {
  padding: 6px 12px;
  font-size: 13px;
  border-radius: 6px;
}

/* 底部导航按钮 */
.expense-detail-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  background-color: #fff;
  border-top: 1px solid #f0f0f0;
}

.expense-detail-pagination {
  font-size: 14px;
  color: #999;
}

.expense-detail-nav-buttons {
  display: flex;
  align-items: center;
  gap: 12px;
}

.expense-detail-nav-buttons .nav-btn {
  min-width: 100px;
  height: 40px;
  border-radius: 8px;
  font-size: 14px;
  background-color: #f5f5f5;
  border-color: #d9d9d9;
  color: #666;
}

.expense-detail-nav-buttons .nav-btn:hover:not([disabled]) {
  background-color: #e6e8eb;
  border-color: #d9d9d9;
  color: #333;
}

.expense-detail-nav-buttons .nav-btn[disabled] {
  background-color: #f5f5f5;
  border-color: #d9d9d9;
  color: #ccc;
  cursor: not-allowed;
}

.expense-detail-nav-buttons .nav-btn.primary {
  background-color: #1890ff;
  border-color: #1890ff;
  color: #fff;
}

.expense-detail-nav-buttons .nav-btn.primary:hover:not([disabled]) {
  background-color: #40a9ff;
  border-color: #40a9ff;
}

/* 消费事由列表 */
.expense-detail-reason-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.expense-detail-reason-list li {
  padding: 6px 0 6px 16px;
  position: relative;
  font-size: 14px;
  color: #333;
  line-height: 1.8;
}

.expense-detail-reason-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 12px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #1890ff;
}

.expense-reason-content {
  width: 100%;
}

/* 关闭按钮 */
.expense-detail-close {
  cursor: pointer;
  color: #999;
  transition: color 0.2s;
  padding: 4px;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.expense-detail-close:hover {
  color: #333;
}

/* 滚动条样式 */
.expense-detail-content::-webkit-scrollbar {
  width: 6px;
}

.expense-detail-content::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}

.expense-detail-content::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}

.expense-detail-content::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}
/* 整体布局：三栏布局 */
.reimbursement-list-page {
  display: flex;
  height: calc(100vh - 60px);
  background-color: #f5f5f5;
  overflow: hidden;
}

/* 左侧我的单据面板 */
.my-documents-panel {
  width: 320px;
  min-width: 320px;
  background-color: #fff;
  border-right: 1px solid #f0f0f0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  border-bottom: 1px solid #f0f0f0;
}

.panel-title {
  font-size: 16px;
  font-weight: 600;
  color: #333;
}

.panel-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.panel-search {
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
}

.panel-filter {
  padding: 8px 16px;
  border-bottom: 1px solid #f0f0f0;
  background-color: #fafafa;
}

.documents-list {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}

/* 单据列表项 */
.document-item {
  padding: 12px;
  margin-bottom: 8px;
  background-color: #fff;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s;
}

.document-item:hover {
  border-color: #1890ff;
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.1);
}

.document-item.selected {
  border-color: #1890ff;
  background-color: #e6f7ff;
}

.document-status-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  margin-bottom: 8px;
}

.status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  display: inline-block;
}

.status-dot.green { background-color: #52c41a; }
.status-dot.orange { background-color: #faad14; }
.status-dot.blue { background-color: #1890ff; }
.status-dot.red { background-color: #ff4d4f; }
.status-dot.default { background-color: #d9d9d9; }

.document-info {
  margin-bottom: 8px;
}

.document-title {
  font-size: 14px;
  font-weight: 500;
  color: #333;
  margin-bottom: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.document-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 12px;
  color: #999;
}

.document-amount {
  font-size: 16px;
  font-weight: 600;
  color: #333;
  text-align: right;
}

/* 中间详情主面板 */
.detail-main-panel {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-width: 0;
  position: relative;
}

.detail-main-content {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
  min-height: 0;
}

.detail-container {
  background-color: #fff;
  border-radius: 8px;
  padding: 24px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* 详情头部区域 */
.detail-header-section {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 20px;
}

.detail-header-main {
  flex: 1;
}

.detail-title-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

.detail-main-title {
  font-size: 18px;
  font-weight: 600;
  color: #333;
}

.detail-sub-info {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #666;
}

.detail-sub-info .divider {
  color: #d9d9d9;
}

.detail-actions-bar {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* 基本信息区域 */
.detail-info-section {
  margin-bottom: 24px;
}

.info-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 20px;
}

.info-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.info-label {
  font-size: 13px;
  color: #999;
}

.info-value {
  font-size: 14px;
  color: #333;
}

.total-amount-display {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
  background-color: #fafafa;
  border-radius: 8px;
}

.total-label {
  font-size: 14px;
  color: #666;
}

.total-value {
  font-size: 24px;
  font-weight: 600;
  color: #fa541c;
}

/* 通用区块样式 */
.detail-section {
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid #f0f0f0;
}

.detail-section:last-child {
  border-bottom: none;
}

.section-title-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

/* 费用明细表格 */
.expense-table-wrapper {
  overflow-x: auto;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
}

.expense-table {
  min-width: 100%;
  border-collapse: collapse;
}

.expense-table-header {
  display: flex;
  align-items: center;
  background-color: #fafafa;
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
  font-size: 13px;
  font-weight: 500;
  color: #333;
  min-width: 800px;
}

.expense-table-row {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
  font-size: 13px;
  min-width: 800px;
}

.expense-table-row:last-child {
  border-bottom: none;
}

.expense-table-row:hover {
  background-color: #fafafa;
}

.header-cell, .cell {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cell.amount {
  color: #fa541c;
  font-weight: 600;
}

/* 备注内容 */
.remark-content {
  padding: 12px;
  background-color: #fffbe6;
  border: 1px solid #ffe58f;
  border-radius: 6px;
  font-size: 14px;
  color: #666;
}

/* 状态卡片 */
.status-card {
  padding: 16px;
  background-color: #f5f5f5;
  border-radius: 8px;
}

/* 审批流程列表 */
.approval-flow-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.approval-flow-item {
  padding: 12px;
  background-color: #fafafa;
  border-radius: 6px;
  position: relative;
  transition: all 0.2s;
}

.approval-flow-item:hover {
  background-color: #f5f5f5;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.approval-flow-item::before {
  content: '';
  position: absolute;
  left: 16px;
  top: 20px;
  bottom: -16px;
  width: 1px;
  background-color: #f0f0f0;
}

.approval-flow-item:last-child::before {
  display: none;
}

/* 当前处理中的节点高亮 */
.approval-flow-item.processing {
  background-color: #e6f7ff;
  border: 1px solid #91d5ff;
}

/* 已完成的节点样式 */
.approval-flow-item.completed {
  background-color: #f6ffed;
  border: 1px solid #b7eb8f;
}

/* 右侧审批流程面板 */
.approval-flow-panel {
  width: 400px;
  min-width: 300px;
  background-color: #fff;
  border-left: 1px solid #f0f0f0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.flow-tabs {
  display: flex;
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
  gap: 16px;
}

.tab-item {
  font-size: 14px;
  color: #666;
  cursor: pointer;
  padding: 4px 0;
  position: relative;
}

.tab-item.active {
  color: #1890ff;
  font-weight: 500;
}

.tab-item.active::after {
  content: '';
  position: absolute;
  bottom: -12px;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #1890ff;
}

.flow-content {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
}

/* 详情操作按钮 */
.detail-actions {
  display: flex;
  gap: 12px;
  padding-top: 16px;
  border-top: 1px solid #f0f0f0;
  margin-top: 16px;
}

/* 加载和空状态 */
.loading-expense {
  display: flex;
  justify-content: center;
  padding: 40px;
}

.empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 200px;
  gap: 16px;
}

.detail-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 300px;
}

/* 详情主面板中的审批操作按钮 - 吸底显示 */
.detail-main-actions {
  position: sticky;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 16px 24px;
  background-color: #fff;
  border-top: 1px solid #f0f0f0;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.05);
  z-index: 10;
}

/* 响应式设计 */
@media (max-width: 1200px) {
  .approval-flow-panel {
    display: none;
  }
}

@media (max-width: 900px) {
  .my-documents-panel {
    width: 280px;
    min-width: 280px;
  }
  
  .info-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}.accounts-page {
  padding: 24px;
  min-height: 100%;
  background-color: #f5f5f5;
}

.accounts-page .ant-card {
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.accounts-page .ant-card-head {
  background-color: #fff;
  border-bottom: 1px solid #f0f0f0;
  padding: 16px 24px;
}

.accounts-page .ant-card-body {
  padding: 24px;
  background-color: #fff;
}

.accounts-page .ant-table {
  font-size: 14px;
}

.accounts-page .ant-table-thead > tr > th {
  background-color: #fafafa;
  font-weight: 600;
}

.accounts-page .ant-btn-link {
  padding: 4px 8px;
}/* 新增报销页面样式 - 完全还原图片 */
.create-reimbursement-page {
  padding: 0;
  background-color: #f5f7fa;
  min-height: 100vh;
  padding-bottom: 100px;
  padding-top: 20px;
}

/* 页面标题 */
.page-header {
  background-color: #fff;
  padding: 16px 24px;
  margin-bottom: 12px;
  font-size: 16px;
  font-weight: 500;
  color: #333;
}

/* 卡片容器 */
.card-container {
  background-color: #fff;
  border-radius: 4px;
  margin-bottom: 12px;
}

/* 顶部单据类型选择 */
.document-type-selector {
  padding: 12px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.document-type-selector-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.document-type-selector .ant-select {
  width: 200px;
  border: none;
  box-shadow: none;
}

.document-type-selector .ant-select-selector {
  background-color: #f5f7fa !important;
  border: none !important;
}

.switch-btn {
  color: #1890ff;
  cursor: pointer;
  font-size: 13px;
}

/* 单据类型选择弹窗 */
.doc-type-modal .ant-modal-header {
  padding: 16px 24px;
  border-bottom: 1px solid #f0f0f0;
}

.doc-type-modal .ant-modal-title {
  font-size: 16px;
  font-weight: 500;
}

.doc-type-modal .ant-modal-body {
  padding: 16px 24px;
}

.doc-type-modal .ant-input {
  border-radius: 4px;
}

.doc-type-modal .ant-input-affix-wrapper {
  padding: 8px 12px;
}

/* 表单主体 */
.form-main {
  padding: 24px;
}

/* 表单行 */
.form-row {
  margin-bottom: 20px;
}

.form-row:last-child {
  margin-bottom: 0;
}

/* 让输入框占满整行 - 长输入框样式 */
.form-row .ant-input,
.form-row .ant-select,
.form-row .ant-picker,
.form-row .ant-input-number {
  width: 100%;
}

.form-row .ant-form-item {
  margin-bottom: 0;
}

.form-item-label {
  font-size: 13px;
  color: #666;
  margin-bottom: 8px;
  width: 70px;
  display: flex;
  align-items: center;
  gap: 4px;
}

.form-item-label .required {
  color: #ff4d4f;
  margin-left: 2px;
}

/* 输入框样式 - 限定在报销创建页面内 */
.create-reimbursement-page .ant-input,
.create-reimbursement-page .ant-select-selector,
.create-reimbursement-page .ant-picker-input > input {
  font-size: 13px !important;
  color: #333;
}

/* 修复 Select 下拉箭头样式 */
.create-reimbursement-page .ant-select-arrow {
  color: #bfbfbf !important;
  font-size: 12px !important;
}

.create-reimbursement-page .ant-select-arrow svg {
  width: 12px;
  height: 12px;
}

.create-reimbursement-page .ant-select-single .ant-select-selector .ant-select-selection-item {
  display: flex;
  align-items: center;
}

/* 确保 Select 组件使用 antd 默认图标 */
.create-reimbursement-page .ant-select .ant-select-arrow::before {
  content: '';
}

.create-reimbursement-page .ant-form-item-label > label {
  font-size: 13px;
  color: #666;
}

/* 费用明细区域 */
.expense-section {
  padding: 16px 24px;
}

.expense-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.expense-section-title {
  font-size: 14px;
  font-weight: 500;
  color: #333;
  display: flex;
  align-items: center;
  gap: 4px;
}

.expense-section-title .required {
  color: #ff4d4f;
}

.expense-section-actions {
  display: flex;
  gap: 8px;
}

.expense-items-container {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.expense-item-card {
  background-color: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 4px;
  padding: 12px 16px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.expense-item-card:hover {
  border-color: #1890ff;
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.1);
}

.expense-item-info {
  display: flex;
  align-items: center;
  gap: 24px;
  flex: 1;
}

/* 费用明细字段样式 - 支持动态渲染 */
.expense-item-field {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-right: 12px;
  font-size: 13px;
}

.expense-item-field-label {
  color: #999;
  font-size: 12px;
}

.ant-form-item{
  width: 90%;
}

.expense-item-field-value {
  color: #333;
  font-weight: 500;
}

.expense-item-category {
  font-size: 14px;
  color: #333;
  min-width: 100px;
}

.expense-item-amount {
  font-size: 14px;
  font-weight: 500;
  color: #333;
  min-width: 100px;
}

.expense-item-date {
  font-size: 13px;
  color: #999;
  min-width: 100px;
}

.expense-item-reason {
  font-size: 13px;
  color: #666;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.expense-item-actions {
  display: flex;
  gap: 8px;
  justify-content: center;
  align-items: center;
}

.add-expense-wrapper {
  margin-top: 12px;
}

/* 费用汇总 */
.expense-summary {
  margin-top: 16px;
  padding: 12px 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.summary-total {
  font-size: 14px;
  color: #333;
}

.summary-total strong {
  color: #333;
  font-size: 16px;
  margin-left: 8px;
}

/* 关联申请和核销借款 */
.relation-section {
  padding: 16px 24px;
}

.relation-section-title {
  font-size: 14px;
  font-weight: 500;
  color: #333;
  margin-bottom: 12px;
}

/* 支付金额 */
.payment-section {
  padding: 16px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.payment-section-title {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

.payment-amount {
  font-size: 16px;
  font-weight: 600;
  color: #333;
}

/* 收款信息选中状态 */
.selected-account-info {
  padding: 16px 24px;
  background-color: #f5f7fa;
  border-radius: 4px;
  margin-top: 8px;
}

.selected-account-info-content {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 13px;
  color: #333;
}

.selected-account-info-item {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #666;
}

.selected-account-info-item strong {
  color: #333;
  font-weight: 500;
}

/* 审批流程卡片 */
.approval-flow-section {
  padding: 16px 24px;
}

.approval-flow-section-title {
  font-size: 14px;
  font-weight: 500;
  color: #333;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.approval-flow-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.approval-flow-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background-color: #f5f7fa;
  border-radius: 4px;
  position: relative;
}

.approval-flow-item:not(:last-child)::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -12px;
  width: 2px;
  height: 12px;
  background-color: #d9d9d9;
  transform: translateX(-50%);
}

.approval-flow-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #1890ff;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex-shrink: 0;
}

.approval-flow-info {
  flex: 1;
  min-width: 0;
}

.approval-flow-name {
  font-size: 13px;
  color: #333;
  font-weight: 500;
}

.approval-flow-position {
  font-size: 12px;
  color: #999;
  margin-top: 2px;
}

.approval-flow-required {
  color: #ff4d4f;
  margin-left: 4px;
}

/* 收款信息选择触发器 */
.account-select-trigger {
  width: 90%;
  cursor: pointer;
}

.account-select-trigger .ant-input {
  cursor: pointer;
  background-color: #fff;
}

.account-select-trigger:hover .ant-input {
  border-color: #1890ff;
}

/* 收款信息抽屉样式 */
.account-drawer-content {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.account-drawer-tabs {
  margin-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
}

.account-drawer-tabs .ant-btn-link {
  padding: 8px 12px;
  font-size: 13px;
  color: #666;
}

.account-drawer-tabs .ant-btn-link:hover {
  color: #1890ff;
}

.account-drawer-list {
  flex: 1;
  overflow-y: auto;
}

.account-drawer-item {
  padding: 16px;
  border: 1px solid #e8e8e8;
  border-radius: 4px;
  margin-bottom: 12px;
  cursor: pointer;
  transition: all 0.2s;
}

.account-drawer-item:hover {
  border-color: #1890ff;
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.15);
}

.account-item-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.account-item-name {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

.account-item-number {
  font-size: 13px;
  color: #666;
  margin-bottom: 8px;
  font-family: monospace;
}

.account-item-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: #999;
}

.account-item-bank {
  display: flex;
  align-items: center;
  gap: 4px;
}

/* 底部固定按钮 */
.fixed-footer {
  position: fixed;
  bottom: 0;
  left: 240px;
  right: 0;
  height: 60px;
  background-color: #fff;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 24px;
  gap: 12px;
  z-index: 100;
}

.fixed-footer .ant-btn {
  min-width: 88px;
  height: 36px;
  font-size: 14px;
}

.submit-btn {
  background-color: #3b5cff;
  border-color: #3b5cff;
  color: #fff;
}

.submit-btn:hover {
  background-color: #4a6aff;
  border-color: #4a6aff;
}

.draft-btn {
  background-color: #fff;
  border-color: #d9d9d9;
  color: #666;
}

.draft-btn:hover {
  border-color: #1890ff;
  color: #1890ff;
}

.delete-btn {
  background-color: #fff;
  border-color: #ffccc7;
  color: #ff4d4f;
}

.delete-btn:hover {
  background-color: #ffccc7;
  border-color: #ffccc7;
  color: #ff4d4f;
}

/* 空状态 */
.expense-empty {
  padding: 20px;
  text-align: center;
  color: #999;
  font-size: 13px;
}

/* 响应式设计 */
@media (max-width: 768px) {
  .create-reimbursement-page {
    padding-bottom: 70px;
  }
  
  .expense-item-info {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  
  .fixed-footer {
    left: 0;
    padding: 0 12px;
    gap: 8px;
  }
  
  .fixed-footer .ant-btn {
    min-width: 70px;
    height: 32px;
    font-size: 13px;
  }
}
/* 报销管理主页容器 */
.reimbursement-home {
  min-height: 100vh;
  background-color: #f5f5f5;
}

/* 主容器：左侧菜单 + 右侧内容 - 使用更具体的类名避免与 Home 页面冲突 */
.reimbursement-home .home-container {
  display: flex;
  flex-direction: row;
  height: calc(100vh - 60px);
  margin-top: 60px;
  overflow: hidden;
  width: 100%;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
}

/* 左侧边栏 */
.reimbursement-home .home-sidebar {
  width: 240px;
  min-width: 240px;
  background-color: #fff;
  border-right: 1px solid #f0f0f0;
  display: flex;
  flex-direction: column;
  padding: 16px 0;
  flex-shrink: 0;
}

.sidebar-header {
  padding: 0 16px 16px 16px;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 16px;
}

.sidebar-title {
  font-size: 18px;
  font-weight: 600;
  color: #333;
  margin: 0;
}

/* 菜单样式 */
.reimbursement-home .home-menu {
  border-right: none;
  flex: 1;
}

.reimbursement-home .home-menu .ant-menu-item {
  height: 50px;
  line-height: 50px;
  font-size: 15px;
  margin: 4px 8px;
  border-radius: 8px;
}

.reimbursement-home .home-menu .ant-menu-item-selected {
  background-color: #e6f7ff;
  color: #1890ff;
}

.reimbursement-home .home-menu .ant-menu-item:hover {
  background-color: #f5f5f5;
}

/* 统计卡片区域 */
.sidebar-stats {
  padding: 16px;
  border-top: 1px solid #f0f0f0;
}

.mini-stat-card {
  margin-bottom: 8px;
  border-radius: 8px;
}

.mini-stat-card:last-child {
  margin-bottom: 0;
}

.mini-stat-card .ant-statistic-title {
  font-size: 12px;
  color: #666;
}

.mini-stat-card .ant-statistic-content {
  font-size: 16px;
  font-weight: 600;
}

/* 快捷操作区域 */
.sidebar-actions {
  padding: 16px;
  border-top: 1px solid #f0f0f0;
}

/* 右侧主内容区域 */
.reimbursement-home .home-main-content {
  flex: 1;
  overflow: auto;
  background-color: #f5f5f5;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* 响应式设计 */
@media (max-width: 768px) {
  .reimbursement-home .home-sidebar {
    width: 200px;
    min-width: 200px;
  }

  .reimbursement-home .sidebar-title {
    font-size: 16px;
  }

  .reimbursement-home .home-menu .ant-menu-item {
    height: 44px;
    line-height: 44px;
    font-size: 14px;
  }
}

/* 隐藏原来的样式 */
.home-header,
.quick-access-row,
.stats-row,
.actions-card,
.home-content {
  display: none;
}.invoice-list-page {
  padding: 24px;
  min-height: 100%;
  background-color: #f5f5f5;
}

.filter-card {
  margin-bottom: 16px;
  border-radius: 8px;
}

.filter-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.filter-header h4 {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
}

.table-card {
  border-radius: 8px;
}

.detail-item {
  margin-bottom: 12px;
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.detail-item:last-child {
  margin-bottom: 0;
}

.amount-text {
  font-size: 18px;
  color: #fa541c;
}

.approval-history {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.history-item {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px 12px;
  background-color: #fafafa;
  border-radius: 6px;
}

.detail-section {
  margin-bottom: 16px;
}

.detail-section h5 {
  margin-bottom: 12px;
  color: #333;
}

.detail-actions {
  margin-top: 24px;
  text-align: right;
}

/* 响应式设计 */
@media (max-width: 768px) {
  .invoice-list-page {
    padding: 12px;
  }

  .filter-header {
    flex-direction: column;
    gap: 12px;
  }

  .filter-header h4 {
    font-size: 16px;
  }
}.create-invoice-page {
  padding: 24px;
  min-height: 100%;
  background-color: #f5f5f5;
}

.create-form-card {
  max-width: 1000px;
  margin: 0 auto;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.create-form-card .ant-card-body {
  padding: 24px;
}

.form-section {
  margin-bottom: 16px;
}

.section-title {
  color: #333;
}

.form-actions {
  display: flex;
  justify-content: center;
  padding-top: 24px;
}

.form-actions .ant-btn {
  min-width: 120px;
}

/* 响应式设计 */
@media (max-width: 768px) {
  .create-invoice-page {
    padding: 12px;
  }

  .create-form-card .ant-card-body {
    padding: 16px;
  }

  .form-actions {
    flex-direction: column;
    gap: 12px;
  }

  .form-actions .ant-btn {
    width: 100%;
  }
}.leads-home-page {
  height: 100%;
  background: #f5f7fa;
}

/* 主内容区 */
.leads-content {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* 筛选区域 */
.filter-section {
  display: flex;
  background: #fff;
  border-radius: 8px;
  margin: 16px;
  margin-bottom: 8px;
  overflow: hidden;
}

/* 左侧视图和工具 */
.filter-left {
  width: 200px;
  border-right: 1px solid #f0f0f0;
  padding: 16px 0;
  background: #fafafa;
}

.my-views {
  margin-bottom: 16px;
}

.view-title {
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 600;
  color: #333;
}

.view-item {
  padding: 8px 16px 8px 24px;
  cursor: pointer;
  color: #666;
  transition: all 0.2s;
  font-size: 14px;
  border-radius: 4px;
  margin: 2px 8px;
}

.view-item:hover {
  background: #e6f4ff;
  color: #1890ff;
}

.view-item.active {
  background: #1890ff;
  color: #fff;
}

.common-tools {
  margin-top: 8px;
}

.tools-title {
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 600;
  color: #333;
}

.tool-item {
  padding: 8px 16px 8px 24px;
  cursor: pointer;
  font-size: 12px;
  color: #666;
  transition: all 0.2s;
  border-radius: 4px;
  margin: 2px 8px;
}

.tool-item:hover {
  background: #e6f4ff;
  color: #1890ff;
}

/* 右侧筛选条件 */
.filter-right {
  flex: 1;
  padding: 16px;
}

.filter-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.filter-title {
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 600;
  color: #333;
}

.filter-title-bar {
  width: 3px;
  height: 18px;
  background: #1890ff;
  margin-right: 8px;
  border-radius: 2px;
}

.expand-btn {
  color: #1890ff;
}

/* 筛选内容 */
.filter-content {
  margin-bottom: 16px;
}

.filter-row {
  display: flex;
  align-items: flex-start;
  margin-bottom: 16px;
  min-height: 32px;
}

.filter-label {
  width: 100px;
  color: #999;
  font-size: 14px;
  line-height: 32px;
  flex-shrink: 0;
}

.filter-value {
  flex: 1;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.filter-value .ant-space {
  display: flex;
  flex-wrap: wrap;
}

/* 按钮样式 */
.filter-value .ant-btn-link {
  color: #666;
  padding: 4px 8px;
}

.filter-value .ant-btn-link.active,
.filter-value .ant-btn-link:hover {
  color: #1890ff;
}

/* 输入框样式 */
.employee-input,
.tag-input {
  width: 300px;
}

.employee-input .ant-input,
.tag-input .ant-input {
  border-radius: 4px 0 0 4px;
}

.employee-input .ant-btn,
.tag-input .ant-btn {
  border-radius: 0 4px 4px 0;
  height: 32px;
}

/* Radio 和 Checkbox 样式 */
.filter-value .ant-radio-wrapper,
.filter-value .ant-checkbox-wrapper {
  margin-right: 16px;
  color: #666;
}

/* 已选筛选条件 */
.selected-filters {
  display: flex;
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid #f0f0f0;
  gap: 8px;
}

.selected-label {
  color: #999;
  font-size: 14px;
}

.selected-tags {
  display: flex;
  gap: 8px;
  flex: 1;
  align-items: center;
}

.selected-tags .ant-tag {
  margin: 0;
  padding: 2px 8px;
  font-size: 13px;
}

.no-selected {
  color: #999;
  font-size: 14px;
}

.clear-btn {
  color: #1890ff;
}

/* 操作栏 */
.action-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  padding: 12px 16px;
  margin: 0 16px 8px;
  border-radius: 8px;
}

.action-left {
  display: flex;
  gap: 8px;
  align-items: center;
}

.batch-actions .ant-btn {
  border-radius: 4px;
}

.action-right {
  display: flex;
  gap: 8px;
  align-items: center;
}

.search-type-select {
  width: 100px;
}

.search-type-select .ant-select-selector {
  border-radius: 4px 0 0 4px;
}

.search-input {
  width: 250px;
}

.search-input .ant-input {
  border-radius: 0 4px 4px 0;
}

/* 表格容器 */
.table-container {
  background: #fff;
  border-radius: 8px;
  margin: 0 16px 16px;
  padding: 16px;
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.table-container .ant-table {
  font-size: 14px;
}

.table-container .ant-table-thead > tr > th {
  background: #fafafa;
  font-weight: 600;
  white-space: nowrap;
}

.table-container .ant-table-tbody > tr:hover > td {
  background: #e6f4ff;
}

/* 标签弹窗 */
.tag-modal .tag-modal-content {
  padding: 8px 0;
}

.tag-group {
  margin-bottom: 16px;
}

.tag-group-title {
  font-size: 14px;
  color: #666;
  margin-bottom: 12px;
  padding-left: 4px;
  border-left: 2px solid #1890ff;
}

.tag-options {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.tag-option {
  min-width: 80px;
  border-radius: 6px;
  border: 1px solid #d9d9d9;
  background: #fafafa;
  color: #666;
  transition: all 0.2s;
}

.tag-option:hover {
  border-color: #1890ff;
  color: #1890ff;
  background: #e6f4ff;
}

.tag-option.selected {
  border-color: #1890ff;
  background: #1890ff;
  color: #fff;
}

/* 员工选择弹窗 - 三栏布局 */
.employee-select-modal .ant-modal-body {
  padding: 0;
}

.employee-select-modal-content {
  display: flex;
  height: 500px;
  border: 1px solid #f0f0f0;
}

.modal-column {
  flex: 1;
  display: flex;
  flex-direction: column;
  border-right: 1px solid #f0f0f0;
}

.modal-column:last-child {
  border-right: none;
}

.column-header {
  padding: 12px;
  border-bottom: 1px solid #f0f0f0;
  background: #fafafa;
}

.column-search {
  width: 100%;
}

.column-search .ant-input {
  background: #fff;
  border-color: #d9d9d9;
}

.column-body {
  flex: 1;
  overflow-y: auto;
  padding: 8px 0;
}

/* 左侧部门列 */
.dept-column {
  min-width: 180px;
  max-width: 180px;
}

.dept-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 14px;
}

.dept-item:hover {
  background: #f5f5f5;
}

.dept-item.active {
  background: #e6f4ff;
  color: #1890ff;
}

.dept-name {
  flex: 1;
}

.dept-count {
  font-size: 12px;
  color: #999;
  margin-left: 8px;
}

.dept-tree-item {
  margin-bottom: 4px;
}

.dept-tree-header {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.2s;
}

.dept-tree-header:hover {
  background: #f5f5f5;
}

.dept-tree-arrow {
  font-size: 10px;
  color: #999;
  margin-right: 6px;
  transition: transform 0.2s;
  display: inline-block;
}

.dept-tree-header.expanded .dept-tree-arrow {
  transform: rotate(90deg);
}

.dept-tree-name {
  flex: 1;
}

.dept-tree-children {
  padding-left: 20px;
}

/* 中间员工列 */
.employee-column {
  min-width: 250px;
}

.select-all-row {
  padding: 8px 12px;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 4px;
}

.employee-scroll-list {
  padding: 0 8px;
}

.employee-item {
  display: flex;
  align-items: flex-start;
  padding: 10px 8px;
  cursor: pointer;
  border-radius: 4px;
  transition: all 0.2s;
  margin-bottom: 4px;
}

.employee-item:hover {
  background: #f5f5f5;
}

.employee-item.selected {
  background: #e6f4ff;
}

.employee-item .ant-checkbox-wrapper {
  margin-right: 8px;
  margin-top: 4px;
}

.employee-detail {
  flex: 1;
  min-width: 0;
}

.employee-name-role {
  font-size: 14px;
  color: #333;
  margin-bottom: 4px;
}

.employee-name {
  font-weight: 500;
}

.employee-role {
  color: #666;
  font-weight: normal;
}

.employee-dept {
  font-size: 12px;
  color: #999;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 右侧已选择列 */
.selected-column {
  min-width: 200px;
  background: #fafafa;
}

.selected-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

.close-modal-btn {
  cursor: pointer;
  font-size: 16px;
  color: #999;
  transition: color 0.2s;
}

.close-modal-btn:hover {
  color: #666;
}

.selected-item {
  display: flex;
  align-items: center;
  padding: 8px;
  margin-bottom: 4px;
  border-radius: 4px;
  transition: all 0.2s;
}

.selected-item:hover {
  background: #e6f4ff;
}

.selected-item .ant-checkbox-wrapper {
  margin-right: 8px;
}

.selected-name {
  font-size: 14px;
  color: #333;
}

.no-selected-tip {
  text-align: center;
  color: #999;
  font-size: 14px;
  padding: 20px 0;
}

/* 滚动条样式 */
.column-body::-webkit-scrollbar {
  width: 6px;
}

.column-body::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.column-body::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}

.column-body::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* 员工搜索输入框 */
.employee-search-input {
  margin-bottom: 12px;
}

.employee-search-input .ant-input {
  border-radius: 4px;
}

/* 滚动条样式 */
.employee-list::-webkit-scrollbar {
  width: 6px;
}

.employee-list::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}

.employee-list::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}

.employee-list::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* 表格固定列样式 */
.table-container .ant-table-fixed-left,
.table-container .ant-table-fixed-right {
  background: #fff;
}

.table-container .ant-table-thead > tr > th.ant-table-cell-fix-left,
.table-container .ant-table-thead > tr > th.ant-table-cell-fix-right {
  background: #fafafa;
}

.table-container .ant-table-tbody > tr:hover > td.ant-table-cell-fix-left,
.table-container .ant-table-tbody > tr:hover > td.ant-table-cell-fix-right {
  background: #e6f4ff;
}

/* 响应式 */
@media (max-width: 1400px) {
  .filter-left {
    width: 160px;
  }
  
  .employee-input,
  .tag-input {
    width: 250px;
  }
}

/* ===========================
   新建线索页面样式
   =========================== */
.leads-create-container {
  background: #fff;
  border-radius: 8px;
  padding: 24px;
  margin: 16px;
  max-width: 1200px;
}

.leads-create-header-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
}

.leads-create-title {
  font-size: 20px;
  font-weight: 600;
  color: #333;
  margin: 0;
}

.leads-create-form-wrapper {
  max-height: calc(100vh - 200px);
  overflow-y: auto;
  padding-right: 8px;
}

.leads-create-form {
  margin-bottom: 0;
  padding: 0;
}

.leads-create-footer {
  position: sticky;
  bottom: 0;
  background: #fff;
  padding: 16px 0;
  border-top: 1px solid #f0f0f0;
  display: flex;
  justify-content: center;
  gap: 16px;
  z-index: 10;
  margin-top: 24px;
}

.leads-create-footer .ant-btn {
  min-width: 100px;
  border-radius: 4px;
}

/* 简化版员工选择弹窗 */
.simple-employee-modal .ant-modal-body {
  padding: 0;
}

.simple-content {
  display: flex;
  height: 400px;
  border: 1px solid #f0f0f0;
}

.simple-content .modal-column {
  flex: 1;
  border-right: 1px solid #f0f0f0;
}

.simple-content .modal-column:last-child {
  border-right: none;
}

.simple-content .dept-column {
  min-width: 180px;
  max-width: 180px;
}

.simple-content .employee-column {
  min-width: 250px;
}

/* 创建表单的负责人选择弹窗样式 */
.simple-content .dept-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 14px;
}

.simple-content .dept-item:hover {
  background: #f5f5f5;
}

.simple-content .dept-item.active {
  background: #e6f4ff;
  color: #1890ff;
}

.simple-content .dept-name {
  flex: 1;
}

.simple-content .dept-count {
  font-size: 12px;
  color: #999;
  margin-left: 8px;
}

.simple-content .dept-tree-item {
  margin-bottom: 4px;
}

.simple-content .dept-tree-header {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.2s;
}

.simple-content .dept-tree-header:hover {
  background: #f5f5f5;
}

.simple-content .dept-tree-arrow {
  font-size: 10px;
  color: #999;
  margin-right: 6px;
  transition: transform 0.2s;
  display: inline-block;
}

.simple-content .dept-tree-header.expanded .dept-tree-arrow {
  transform: rotate(90deg);
}

.simple-content .dept-tree-name {
  flex: 1;
}

.simple-content .dept-tree-children {
  padding-left: 20px;
}

.simple-content .employee-scroll-list {
  padding: 0 8px;
}

.simple-content .employee-item {
  display: flex;
  align-items: flex-start;
  padding: 10px 8px;
  cursor: pointer;
  border-radius: 4px;
  transition: all 0.2s;
  margin-bottom: 4px;
  position: relative;
}

.simple-content .employee-item:hover {
  background: #f5f5f5;
}

.simple-content .employee-item.selected {
  background: #e6f4ff;
}

.simple-content .employee-item .ant-checkbox-wrapper {
  margin-right: 8px;
  margin-top: 4px;
  flex-shrink: 0;
}

.simple-content .employee-detail {
  flex: 1;
  min-width: 0;
}

.simple-content .employee-name-role {
  font-size: 14px;
  color: #333;
  margin-bottom: 4px;
}

.simple-content .employee-name {
  font-weight: 500;
}

.simple-content .employee-role {
  color: #666;
  font-weight: normal;
}

.simple-content .employee-dept {
  font-size: 12px;
  color: #999;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.simple-content .employee-item-check {
  color: #1890ff;
  font-size: 16px;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
}
.leads-create-page {
  min-height: 100vh;
  background: #f5f7fa;
}

.leads-create-content {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.leads-create-form-wrapper {
  flex: 1;
  padding: 16px;
  overflow-y: auto;
}

.leads-create-header {
  margin-bottom: 16px;
}

.leads-create-title {
  font-size: 20px;
  font-weight: 600;
  color: #333;
  margin: 0;
}

.leads-create-form {
  background: #fff;
  border-radius: 8px;
  padding: 24px;
  margin-bottom: 16px;
}

.form-row {
  display: flex;
  gap: 16px;
  margin-bottom: 16px;
}

.form-row:last-child {
  margin-bottom: 0;
}

.form-col {
  flex: 1;
  min-width: 0;
}

.form-col:first-child:last-child {
  flex: none;
  width: 100%;
}

/* 表单标签样式 */
.leads-create-form .ant-form-item-label > label {
  font-size: 14px;
  color: #333;
}

.required {
  color: #ff4d4f;
  margin-right: 4px;
}

/* 输入框样式 */
.leads-create-form .ant-input,
.leads-create-form .ant-select-selector,
.leads-create-form .ant-input-textarea {
  border-radius: 4px;
  font-size: 14px;
}

.leads-create-form .ant-input:hover,
.leads-create-form .ant-select-selector:hover {
  border-color: #1890ff;
}

.leads-create-form .ant-input-focused,
.leads-create-form .ant-select-focused .ant-select-selector {
  border-color: #1890ff;
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1);
}

/* 带按钮的输入框 */
.leads-create-form .ant-input-group-addon {
  padding: 0;
  border: none;
  background: transparent;
}

.leads-create-form .ant-input-group-addon .ant-btn {
  border-radius: 0 4px 4px 0;
  height: 32px;
  padding: 0 12px;
}

/* Radio 样式 */
.leads-create-form .ant-radio-wrapper {
  margin-right: 16px;
  font-size: 14px;
}

/* 底部固定按钮 */
.leads-create-footer {
  position: sticky;
  bottom: 0;
  background: #fff;
  padding: 12px 16px;
  border-top: 1px solid #f0f0f0;
  display: flex;
  justify-content: center;
  gap: 16px;
  z-index: 10;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.05);
}

.leads-create-footer .ant-btn {
  min-width: 100px;
  border-radius: 4px;
}

/* 负责人选择弹窗 - 简化版 */
.simple-employee-modal .ant-modal-body {
  padding: 0;
}

.simple-content {
  display: flex;
  height: 400px;
  border: 1px solid #f0f0f0;
}

.simple-content .modal-column {
  flex: 1;
  border-right: 1px solid #f0f0f0;
}

.simple-content .modal-column:last-child {
  border-right: none;
}

.simple-content .dept-column {
  min-width: 300px;
  max-width: 300px;
}

.simple-content .employee-column {
  min-width: 250px;
}

/* 复用员工选择弹窗样式 */
.column-header {
  padding: 12px;
  border-bottom: 1px solid #f0f0f0;
  background: #fafafa;
}

.column-search {
  width: 100%;
}

.column-search .ant-input {
  background: #fff;
  border-color: #d9d9d9;
}

.column-body {
  flex: 1;
  overflow-y: auto;
  padding: 8px 0;
}

.dept-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 14px;
}

.dept-item:hover {
  background: #f5f5f5;
}

.dept-item.active {
  background: #e6f4ff;
  color: #1890ff;
}

.dept-name {
  flex: 1;
}

.dept-count {
  font-size: 12px;
  color: #999;
  margin-left: 8px;
}

.dept-tree-item {
  margin-bottom: 4px;
}

.dept-tree-header {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.2s;
}

.dept-tree-header:hover {
  background: #f5f5f5;
}

.dept-tree-arrow {
  font-size: 10px;
  color: #999;
  margin-right: 6px;
  transition: transform 0.2s;
  display: inline-block;
}

.dept-tree-header.expanded .dept-tree-arrow {
  transform: rotate(90deg);
}

.dept-tree-name {
  flex: 1;
}

.dept-tree-children {
  padding-left: 20px;
}

.employee-scroll-list {
  padding: 0 8px;
}

.employee-item {
  display: flex;
  align-items: flex-start;
  padding: 10px 8px;
  cursor: pointer;
  border-radius: 4px;
  transition: all 0.2s;
  margin-bottom: 4px;
  position: relative;
}

.employee-item:hover {
  background: #f5f5f5;
}

.employee-item.selected {
  background: #e6f4ff;
}

.employee-item .ant-checkbox-wrapper {
  margin-right: 8px;
  margin-top: 4px;
  flex-shrink: 0;
}

.employee-detail {
  flex: 1;
  min-width: 0;
}

.employee-name-role {
  font-size: 14px;
  color: #333;
  margin-bottom: 4px;
}

.employee-name {
  font-weight: 500;
}

.employee-role {
  color: #666;
  font-weight: normal;
}

.employee-dept {
  font-size: 12px;
  color: #999;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.employee-item-check {
  color: #1890ff;
  font-size: 16px;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
}

/* 滚动条样式 */
.column-body::-webkit-scrollbar {
  width: 6px;
}

.column-body::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.column-body::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}

.column-body::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* 标签选择弹窗样式 */
.tag-modal .tag-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tag-option {
  height: 32px;
  padding: 0 16px;
  border-radius: 4px;
  border: 1px solid #d9d9d9;
  background: #fff;
  transition: all 0.2s;
  position: relative;
}

.tag-option:hover {
  border-color: #1890ff;
  color: #1890ff;
}

.tag-option.selected {
  border-color: #1890ff;
  background: #e6f4ff;
  color: #1890ff;
}

.tag-check-icon {
  margin-left: 4px;
  font-size: 12px;
}

/* 响应式 */
@media (max-width: 768px) {
  .form-row {
    flex-direction: column;
  }
  
  .simple-content {
    flex-direction: column;
    height: 500px;
  }
  
  .simple-content .dept-column {
    max-width: none;
    border-bottom: 1px solid #f0f0f0;
  }
  
  .simple-content .modal-column {
    border-right: none;
  }
}
.leads-detail-page {
  display: flex;
  height: 100vh;
  overflow: hidden;
  position: relative;
  flex-direction: column;
}

/* 页头下方的主内容区域 */
.detail-page-wrapper {
  display: flex;
  flex: 1;
  overflow: hidden;
}

/* 左侧导航栏 */
.detail-sidebar {
  width: 250px;
  min-width: 220px;
  background: #fff;
  border-right: 1px solid #f0f0f0;
  display: flex;
  flex-direction: column;
  transition: width 0.2s;
  position: relative;
  z-index: 10;
  height: 100%;
}

.detail-sidebar.collapsed {
  width: 64px;
  min-width: 64px;
}

.sidebar-header {
  padding: 16px;
  border-bottom: 1px solid #f0f0f0;
}

.logo img {
  height: 32px;
  width: auto;
}

.sidebar-toggle {
  padding: 12px 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: #666;
  transition: background 0.2s;
}

.sidebar-toggle:hover {
  background: #f5f5f5;
}

.sidebar-menu {
  flex: 1;
  overflow-y: auto;
  padding: 8px 0;
}

.menu-group {
  margin-bottom: 4px;
}

.menu-group-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  cursor: pointer;
  transition: background 0.2s;
}

.menu-group-header:hover {
  background: #f5f5f5;
}

.menu-group-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: #333;
}

.menu-group-title svg {
  font-size: 16px;
}

.menu-arrow {
  font-size: 12px;
  color: #999;
  transition: transform 0.2s;
}

.menu-arrow.expanded {
  transform: rotate(180deg);
}

.menu-group-children {
  padding-left: 16px;
}

.menu-item {
  padding: 8px 16px;
  font-size: 13px;
  color: #666;
  cursor: pointer;
  transition: all 0.2s;
  border-radius: 4px;
  margin: 2px 8px;
}

.menu-item:hover {
  background: #f5f5f5;
  color: #1890ff;
}

.menu-item.active {
  background: #e6f7ff;
  color: #1890ff;
}

/* 主内容区 */
.detail-main-content {
  flex: 1;
  overflow-y: auto;
  background: #f5f7fa;
  padding: 16px 24px;
  height: 100%;
}

/* 线索信息卡片 */
.lead-info-card {
  background: #fff;
  border-radius: 8px;
  padding: 20px 24px;
  margin-bottom: 16px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.lead-info-left {
  flex: 1;
}

.lead-title-section {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.star-icon {
  font-size: 20px;
  cursor: pointer;
  color: #999;
  transition: color 0.2s;
}

.star-icon.starred {
  color: #faad14;
}

.lead-title {
  font-size: 20px;
  font-weight: 600;
  color: #333;
  margin: 0;
}

/* 标签显示区域样式 */
.tag-display-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
}

.tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.tag-list .ant-tag {
  margin: 0;
}

.no-tag-text {
  font-size: 12px;
  color: #999;
}

.edit-tag-btn {
  font-size: 12px;
  height: 24px;
  padding: 0 8px;
}

.lead-info-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
}

.info-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.info-label {
  font-size: 12px;
  color: #999;
}

.info-value {
  font-size: 14px;
  color: #333;
  display: flex;
  align-items: center;
  gap: 8px;
}

.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}

.associate-btn {
  font-size: 12px;
  height: 24px;
  padding: 0 12px;
}

.lead-info-right {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.return-btn {
  height: 32px;
  padding: 0 16px;
}

/* 操作按钮区域 */
.action-button-section {
  background: #fff;
  border-radius: 8px;
  padding: 16px 24px;
  margin-bottom: 16px;
  display: flex;
  gap: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.action-button-section .ant-btn {
  height: 36px;
  padding: 0 16px;
  font-size: 14px;
  border-radius: 6px;
}

.action-button-section .ant-btn-primary {
  background: #1890ff;
  border-color: #1890ff;
}

/* 信息概况区域 */
.info-section {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.info-tabs {
  display: flex;
  border-bottom: 1px solid #f0f0f0;
  padding: 0 24px;
}

.info-tab {
  padding: 16px 24px;
  font-size: 14px;
  color: #666;
  cursor: pointer;
  position: relative;
  transition: color 0.2s;
}

.info-tab:hover {
  color: #1890ff;
}

.info-tab.active {
  color: #1890ff;
  font-weight: 500;
}

.info-tab.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: #1890ff;
}

.info-content {
  padding: 24px;
}

.info-block {
  margin-bottom: 24px;
}

.info-block:last-child {
  margin-bottom: 0;
}

.info-block-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f0f0f0;
}

.info-block-icon {
  font-size: 16px;
  color: #1890ff;
}

.info-block-title {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

.info-block-content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.info-row {
  display: flex;
  gap: 24px;
}

.info-row-label {
  font-size: 13px;
  color: #999;
  min-width: 100px;
}

.info-row-value {
  font-size: 14px;
  color: #333;
  flex: 1;
}

/* 右侧活动记录面板 */
.activity-panel {
  width: 450px;
  min-width: 450px;
  background: #fff;
  border-left: 1px solid #f0f0f0;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 5;
  height: 100%;
}

.activity-tabs {
  display: flex;
  border-bottom: 1px solid #f0f0f0;
  padding: 0 16px;
  flex-shrink: 0;
}

.activity-tab {
  padding: 16px 12px;
  font-size: 13px;
  color: #666;
  cursor: pointer;
  position: relative;
  transition: color 0.2s;
  white-space: nowrap;
}

.activity-tab:hover {
  color: #1890ff;
}

.activity-tab.active {
  color: #1890ff;
  font-weight: 500;
}

.activity-tab.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: #1890ff;
}

.activity-content {
  flex: 1;
  overflow-y: auto;
  /* padding: 16px; */
}

.activity-date-section {
  margin-bottom: 24px;
  height: 100%;
}

.activity-date-header {
  margin-bottom: 16px;
}

.activity-date-title {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

.activity-list {
  display: flex;
  flex-direction: column;
  /* gap: 16px; */
}

.activity-item {
  display: flex;
  gap: 12px;
  position: relative;
  padding-bottom: 16px;
}

.activity-item:last-child {
  padding-bottom: 0;
}

.activity-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #e6f7ff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: #1890ff;
  flex-shrink: 0;
}

.activity-info {
  flex: 1;
  min-width: 0;
}

.activity-time {
  font-size: 12px;
  color: #999;
}

.activity-date {
  font-size: 12px;
  color: #999;
  margin-bottom: 4px;
}

.activity-operator {
  font-size: 13px;
  color: #1890ff;
  font-weight: 500;
  /* margin-bottom: 6px; */
}

.activity-content {
  font-size: 14px;
  color: #333;
  line-height: 1.5;
}

.activity-sub-content {
  font-size: 13px;
  color: #666;
  margin-top: 4px;
}

.activity-sub-content a {
  color: #1890ff;
  text-decoration: none;
}

.no-activity {
  text-align: center;
  color: #999;
  font-size: 14px;
  padding: 40px 0;
}

/* 标签弹窗 */
.tag-modal .tag-modal-content {
  padding: 8px 0;
}

.tag-group {
  margin-bottom: 16px;
}

.tag-group-title {
  font-size: 14px;
  color: #666;
  margin-bottom: 12px;
  padding-left: 4px;
  border-left: 2px solid #1890ff;
}

.tag-options {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.tag-option {
  min-width: 80px;
  border-radius: 6px;
  border: 1px solid #d9d9d9;
  background: #fafafa;
  color: #666;
  transition: all 0.2s;
}

.tag-option:hover {
  border-color: #1890ff;
  color: #1890ff;
  background: #e6f4ff;
}

.tag-option.selected {
  border-color: #1890ff;
  background: #1890ff;
  color: #fff;
}

/* 写跟进弹窗 */
.follow-modal .follow-modal-content {
  padding: 8px 0;
}

.follow-modal .required-label {
  display: flex;
  align-items: center;
  gap: 4px;
}

.follow-modal .required {
  color: #ff4d4f;
}

.follow-modal .rich-editor {
  border: 1px solid #d9d9d9;
  border-radius: 6px;
  overflow: hidden;
}

.follow-modal .editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 8px;
  background: #fafafa;
  border-bottom: 1px solid #d9d9d9;
}

.follow-modal .toolbar-btn {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: all 0.2s;
}

.follow-modal .toolbar-btn:hover {
  background: #e6f7ff;
  color: #1890ff;
}

.follow-modal .editor-textarea {
  border: none;
  resize: none;
}

.follow-modal .editor-textarea:focus {
  box-shadow: none;
}

.follow-modal .ant-form-item {
  margin-bottom: 16px;
}

.follow-modal .ant-form-item:last-child {
  margin-bottom: 0;
}

/* 放弃弹窗 */
.giveup-modal .giveup-modal-content {
  padding: 8px 0;
}

.giveup-modal .giveup-tip {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  background: #fff7e6;
  border-radius: 6px;
  font-size: 13px;
  color: #666;
  margin-top: 8px;
}

.giveup-modal .giveup-tip-icon {
  color: #faad14;
  font-size: 16px;
}

/* 领取弹窗 */
.claim-modal .claim-modal-content {
  padding: 8px 0;
}

.claim-modal .claim-tip {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  background: #f6ffed;
  border-radius: 6px;
  font-size: 13px;
  color: #666;
  margin-top: 8px;
}

.claim-modal .claim-tip-icon {
  color: #52c41a;
  font-size: 16px;
}

/* 转客户弹窗 */
.convert-modal .convert-modal-content {
  padding: 8px 0;
}

.convert-modal .convert-info {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  background: #e6f7ff;
  border-radius: 6px;
  font-size: 13px;
  color: #666;
  margin-bottom: 16px;
}

.convert-modal .convert-info-icon {
  color: #1890ff;
  font-size: 16px;
}

/* 转客户表单样式 */
.convert-form .form-section {
  margin-bottom: 16px;
}

.convert-form .section-title {
  font-size: 14px;
  font-weight: 600;
  color: #333;
  margin-bottom: 16px;
  padding-left: 12px;
  border-left: 3px solid #1890ff;
}

.convert-form .form-row {
  display: flex;
  gap: 16px;
  margin-bottom: 16px;
}

.convert-form .form-col {
  flex: 1;
  margin-bottom: 0;
}

.convert-form .form-col-full {
  flex: 100%;
  margin-bottom: 0;
}

.convert-form .required-label {
  color: #333;
}

.convert-form .required {
  color: #ff4d4f;
  margin-right: 4px;
}

/* 员工选择弹窗样式 */
.employee-select-modal .employee-select-modal-content {
  padding: 8px 0;
}

.employee-select-modal .modal-columns-container {
  display: flex;
  gap: 16px;
  height: 400px;
}

.employee-select-modal .modal-column {
  border: 1px solid #f0f0f0;
  border-radius: 6px;
  overflow: hidden;
}

.employee-select-modal .dept-column {
  width: 200px;
  flex-shrink: 0;
}

.employee-select-modal .employee-column {
  flex: 1;
}

.employee-select-modal .column-header {
  padding: 12px 16px;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
  font-weight: 600;
  font-size: 14px;
  color: #333;
}

.employee-select-modal .column-body {
  height: calc(400px - 45px);
  overflow-y: auto;
  padding: 8px;
}

.employee-select-modal .dept-tree-item {
  margin-bottom: 4px;
}

.employee-select-modal .dept-tree-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  cursor: pointer;
  border-radius: 4px;
  transition: background 0.2s;
}

.employee-select-modal .dept-tree-header:hover {
  background: #f5f5f5;
}

.employee-select-modal .dept-tree-header.expanded {
  background: #e6f7ff;
}

.employee-select-modal .dept-tree-arrow {
  font-size: 10px;
  color: #999;
  width: 12px;
}

.employee-select-modal .dept-tree-name {
  font-size: 13px;
  color: #333;
}

.employee-select-modal .dept-tree-children {
  padding-left: 20px;
  margin-top: 4px;
}

.employee-select-modal .dept-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  cursor: pointer;
  border-radius: 4px;
  transition: background 0.2s;
}

.employee-select-modal .dept-item:hover {
  background: #f5f5f5;
}

.employee-select-modal .dept-item.active {
  background: #e6f7ff;
}

.employee-select-modal .dept-name {
  font-size: 13px;
  color: #333;
}

.employee-select-modal .employee-scroll-list {
  padding: 0;
}

.employee-select-modal .employee-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  cursor: pointer;
  transition: background 0.2s;
  border-bottom: 1px solid #f5f5f5;
}

.employee-select-modal .employee-item:hover {
  background: #f5f5f5;
}

.employee-select-modal .employee-item.selected {
  background: #e6f7ff;
}

.employee-select-modal .employee-detail {
  flex: 1;
}

.employee-select-modal .employee-name-role {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

.employee-select-modal .employee-name {
  font-size: 14px;
  color: #333;
  font-weight: 500;
}

.employee-select-modal .employee-role {
  font-size: 12px;
  color: #999;
}

.employee-select-modal .employee-dept {
  font-size: 12px;
  color: #999;
}

.employee-select-modal .employee-item-check {
  color: #1890ff;
  font-size: 16px;
}

/* 标签选择弹窗样式 */
.tag-modal-content {
  padding: 16px 0;
}

.tag-modal-content .tag-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  padding: 0 16px;
}

.tag-modal-content .tag-item {
  padding: 16px;
  border: 1px solid #d9d9d9;
  border-radius: 6px;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 14px;
  color: #333;
}

.tag-modal-content .tag-item:hover {
  border-color: #1890ff;
  background: #e6f7ff;
}

.tag-modal-content .tag-item.selected {
  border-color: #1890ff;
  background: #e6f7ff;
  color: #1890ff;
  font-weight: 600;
}

/* 转移弹窗 */
.transfer-modal-content {
  padding: 8px 0;
}

.transfer-tip {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  background: #fff7e6;
  border-radius: 6px;
  font-size: 13px;
  color: #666;
  margin-top: 8px;
}

.transfer-tip-icon {
  color: #faad14;
  font-size: 16px;
}

/* 合并线索弹窗 */
.merge-modal .merge-modal-content {
  padding: 8px 0;
}

.merge-modal .merge-tip {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  background: #e6f7ff;
  border-radius: 6px;
  font-size: 13px;
  color: #666;
  margin-bottom: 20px;
}

.merge-modal .merge-tip-icon {
  color: #1890ff;
  font-size: 16px;
}

.merge-modal .merge-sections {
  display: flex;
  align-items: flex-start;
  gap: 16px;
}

.merge-modal .merge-section {
  flex: 1;
  padding: 16px;
  background: #fafafa;
  border-radius: 8px;
}

.merge-modal .merge-section-title {
  font-size: 14px;
  font-weight: 500;
  color: #333;
  margin-bottom: 12px;
}

.merge-modal .merge-search-box {
  margin-bottom: 12px;
}

.merge-modal .merge-search-box .ant-input {
  border-radius: 6px;
}

.merge-modal .merge-arrow {
  display: flex;
  align-items: center;
  padding-top: 30px;
  font-size: 14px;
  color: #999;
}

.merge-modal .merge-radio-section {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* 新建计划弹窗 */
.plan-modal-content {
  padding: 8px 0;
}

/* 选择负责人弹窗 */
.owner-modal .owner-modal-content {
  display: flex;
  height: 400px;
}

.owner-modal .owner-modal-left {
  width: 200px;
  border-right: 1px solid #f0f0f0;
  display: flex;
  flex-direction: column;
}

.owner-modal .owner-search-input {
  padding: 12px;
  border-bottom: 1px solid #f0f0f0;
  border-radius: 0;
}

.owner-modal .owner-search-input .ant-input {
  border-radius: 4px;
}

.owner-modal .owner-dept-tree {
  flex: 1;
  overflow-y: auto;
  padding: 8px 0;
}

.owner-modal .dept-tree-item {
  padding: 8px 16px;
  cursor: pointer;
  font-size: 14px;
  color: #666;
  transition: all 0.2s;
}

.owner-modal .dept-tree-item:hover {
  background: #f5f5f5;
}

.owner-modal .dept-tree-item.selected {
  background: #e6f7ff;
  color: #1890ff;
}

.owner-modal .owner-modal-right {
  flex: 1;
  overflow-y: auto;
}

.owner-modal .owner-list {
  padding: 8px;
}

.owner-modal .owner-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
  border: 1px solid transparent;
}

.owner-modal .owner-item:hover {
  background: #f5f5f5;
}

.owner-modal .owner-item.selected {
  background: #e6f7ff;
  border-color: #1890ff;
}

.owner-modal .owner-item-info {
  flex: 1;
  min-width: 0;
}

.owner-modal .owner-item-name {
  font-size: 14px;
  color: #333;
  margin-bottom: 4px;
}

.owner-modal .owner-item-dept {
  font-size: 12px;
  color: #999;
}

.owner-modal .owner-check-icon {
  color: #1890ff;
  font-size: 18px;
}

/* 选择负责人弹窗 - 简化版 */
.owner-modal-content-simple {
  padding: 0;
}

.owner-modal-body {
  display: flex;
  height: 400px;
}

.owner-modal-left {
  width: 200px;
  border-right: 1px solid #f0f0f0;
  display: flex;
  flex-direction: column;
}

.owner-dept-search-input {
  padding: 12px;
  border-bottom: 1px solid #f0f0f0;
}

.owner-dept-search-input .ant-input {
  border-radius: 6px;
}

.owner-dept-tree {
  flex: 1;
  overflow-y: auto;
  padding: 8px 0;
}

.dept-tree-item {
  padding: 8px 12px;
  cursor: pointer;
  font-size: 14px;
  color: #666;
  transition: all 0.2s;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dept-tree-item:hover {
  background: #f5f5f5;
}

.dept-tree-item.selected {
  background: #e6f7ff;
  color: #1890ff;
}

.owner-modal-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.owner-employee-search-input {
  padding: 12px;
  border-bottom: 1px solid #f0f0f0;
}

.owner-employee-search-input .ant-input {
  border-radius: 6px;
}

.owner-list-simple {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}

.owner-item-simple {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
  border: 1px solid transparent;
}

.owner-item-simple:hover {
  background: #f5f5f5;
}

.owner-item-simple.selected {
  background: #e6f7ff;
  border-color: #1890ff;
}

.owner-item-simple .owner-item-info {
  flex: 1;
  min-width: 0;
}

.owner-item-simple .owner-item-name {
  font-size: 14px;
  color: #333;
  margin-bottom: 4px;
}

.owner-item-simple .owner-item-dept {
  font-size: 12px;
  color: #999;
}

.owner-item-simple .owner-check-icon {
  color: #1890ff;
  font-size: 18px;
}

/* 滚动条样式 */
.detail-main-content::-webkit-scrollbar,
.activity-content::-webkit-scrollbar,
.owner-modal .owner-left::-webkit-scrollbar,
.owner-modal .owner-right::-webkit-scrollbar {
  width: 6px;
}

.detail-main-content::-webkit-scrollbar-thumb,
.activity-content::-webkit-scrollbar-thumb,
.owner-modal .owner-left::-webkit-scrollbar-thumb,
.owner-modal .owner-right::-webkit-scrollbar-thumb {
  background: #d9d9d9;
  border-radius: 3px;
}

.detail-main-content::-webkit-scrollbar-thumb:hover,
.activity-content::-webkit-scrollbar-thumb:hover,
.owner-modal .owner-left::-webkit-scrollbar-thumb:hover,
.owner-modal .owner-right::-webkit-scrollbar-thumb:hover {
  background: #bfbfbf;
}

/* 响应式 */
@media (max-width: 1400px) {
  .activity-panel {
    width: 380px;
    min-width: 380px;
  }
  
  .lead-info-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 1200px) {
  .activity-panel {
    width: 320px;
    min-width: 320px;
  }
  
  .lead-info-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* 关联企微好友和客户账号样式 */
.info-value-text {
  margin-right: 8px;
}

.edit-associate-btn {
  padding: 0 4px;
  margin-left: 4px;
}

.associate-modal-content {
  padding: 8px 0;
}

/* 计划弹窗样式 */
.plan-modal .ant-modal-body {
  padding: 12px;
}

.plan-modal-content {
  max-height: 70vh;
  overflow-y: auto;
}

/* 关联业务信息区域 */
.plan-business-info {
  margin-bottom: 24px;
  padding: 16px;
  background: #f5f5f5;
  border-radius: 8px;
}

.plan-business-loading {
  margin-bottom: 24px;
  padding: 16px;
  text-align: center;
  color: #999;
}

.plan-business-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e8e8e8;
}

.plan-business-icon {
  font-size: 16px;
  color: #1890ff;
}

.plan-business-type {
  font-size: 14px;
  color: #666;
  font-weight: 500;
}

.plan-business-descriptions {
  /* background: #fff; */
  border-radius: 4px;
}

.plan-business-descriptions .ant-descriptions-item-label {
  color: #666;
  font-weight: 400;
}

.plan-business-descriptions .ant-descriptions-item-content {
  color: #333;
}

/* 表单样式 */
.plan-modal-content .ant-form-item {
  margin-bottom: 16px;
}

.plan-modal-content .ant-form-item-label > label {
  font-weight: 500;
}

.plan-modal-content .ant-input {
  border-radius: 4px;
}

.plan-modal-content .ant-select {
  border-radius: 4px;
}

.plan-modal-content .ant-picker {
  border-radius: 4px;
}

/* 滚动条样式 */
.plan-modal-content::-webkit-scrollbar {
  width: 6px;
}

.plan-modal-content::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}

.plan-modal-content::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}

.plan-modal-content::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* 员工选择弹窗样式 */
.employee-tree-modal .ant-modal-body {
  padding: 0;
}

.employee-tree-modal-content {
  display: flex;
  height: 500px;
}

/* 左侧部门树 */
.modal-left {
  width: 240px;
  border-right: 1px solid #e8e8e8;
  display: flex;
  flex-direction: column;
}

.modal-left-header {
  padding: 12px 16px;
  border-bottom: 1px solid #e8e8e8;
  background: #fafafa;
}

.tree-content {
  flex: 1;
  overflow-y: auto;
  padding: 8px 0;
}

.tree-node {
  display: flex;
  align-items: center;
  padding: 8px 16px;
  cursor: pointer;
  transition: background-color 0.2s;
}

.tree-node:hover {
  background-color: #f5f5f5;
}

.tree-node.selected {
  background-color: #e6f7ff;
  color: #1890ff;
}

.tree-node-label {
  flex: 1;
  font-size: 14px;
}

.tree-expand-icon {
  font-size: 12px;
  margin-right: 4px;
  transition: transform 0.2s;
}

.tree-expand-icon.expanded {
  transform: rotate(90deg);
}

.tree-placeholder {
  width: 16px;
  margin-right: 4px;
}

.tree-children {
  padding-left: 16px;
}

/* 中间员工列表 */
.modal-middle {
  width: 300px;
  border-right: 1px solid #e8e8e8;
  display: flex;
  flex-direction: column;
}

.modal-middle-header {
  padding: 12px 16px;
  border-bottom: 1px solid #e8e8e8;
  background: #fafafa;
}

.employee-list-container {
  flex: 1;
  overflow-y: auto;
  padding: 8px 0;
}

.employee-item {
  display: flex;
  align-items: flex-start;
  padding: 10px 16px;
  cursor: pointer;
  transition: background-color 0.2s;
}

.employee-item:hover {
  background-color: #f5f5f5;
}

.employee-item.selected {
  background-color: #e6f7ff;
}

.employee-item-content {
  flex: 1;
  margin-left: 8px;
  min-width: 0;
}

.employee-item-name {
  font-size: 14px;
  color: #333;
  margin-bottom: 4px;
}

.employee-item-dept {
  font-size: 12px;
  color: #999;
}

/* 右侧已选择 */
.modal-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 200px;
}

.modal-right-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #e8e8e8;
  background: #fafafa;
}

.modal-right-title {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

.modal-search-input {
  margin: 12px 16px;
  width: calc(100% - 32px);
}

.selected-employee-list {
  flex: 1;
  overflow-y: auto;
  padding: 8px 16px;
}

.empty-selected {
  text-align: center;
  color: #999;
  padding: 40px 0;
}

.selected-employee-item {
  display: flex;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid #f0f0f0;
}

.selected-employee-item:last-child {
  border-bottom: none;
}

.selected-employee-name {
  flex: 1;
  margin: 0 8px;
  font-size: 14px;
}

.remove-employee-icon {
  font-size: 14px;
  color: #999;
  cursor: pointer;
  transition: color 0.2s;
}

.remove-employee-icon:hover {
  color: #ff4d4f;
}

/* 部门树节点样式 */
.department-tree-node {
  position: relative;
}

/* 滚动条样式 */
.modal-left::-webkit-scrollbar,
.modal-middle::-webkit-scrollbar,
.modal-right::-webkit-scrollbar,
.tree-content::-webkit-scrollbar,
.employee-list-container::-webkit-scrollbar,
.selected-employee-list::-webkit-scrollbar {
  width: 6px;
}

.modal-left::-webkit-scrollbar-track,
.modal-middle::-webkit-scrollbar-track,
.modal-right::-webkit-scrollbar-track,
.tree-content::-webkit-scrollbar-track,
.employee-list-container::-webkit-scrollbar-track,
.selected-employee-list::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}

.modal-left::-webkit-scrollbar-thumb,
.modal-middle::-webkit-scrollbar-thumb,
.modal-right::-webkit-scrollbar-thumb,
.tree-content::-webkit-scrollbar-thumb,
.employee-list-container::-webkit-scrollbar-thumb,
.selected-employee-list::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}

.modal-left::-webkit-scrollbar-thumb:hover,
.modal-middle::-webkit-scrollbar-thumb:hover,
.modal-right::-webkit-scrollbar-thumb:hover,
.tree-content::-webkit-scrollbar-thumb:hover,
.employee-list-container::-webkit-scrollbar-thumb:hover,
.selected-employee-list::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* 员工选择器样式 */
.employee-selector {
  width: 100%;
}

.employee-selector .ant-input {
  cursor: pointer;
}

.employee-selector .ant-input:hover {
  border-color: #1890ff;
}.plan-detail-modal .ant-modal-body {
  padding: 20px;
}

.plan-detail-content {
  max-height: 70vh;
  overflow-y: auto;
}

.plan-title-section {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 16px;
}

.plan-title {
  margin: 0 !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #333 !important;
}

.plan-tags {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

.plan-content {
  line-height: 1.6;
  color: #333;
  white-space: pre-wrap;
  word-break: break-word;
}

.participant-list,
.observer-list,
.business-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.attachment-section {
  margin-top: 16px;
}

.attachment-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.attachment-item {
  padding: 8px 12px;
  background-color: #f5f5f5;
  border-radius: 4px;
  font-size: 13px;
  color: #666;
}

.result-section {
  margin-top: 16px;
}

.plan-results {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.result-item {
  padding: 12px;
  background-color: #fafafa;
  border-radius: 6px;
  border: 1px solid #f0f0f0;
}

.result-content {
  font-size: 14px;
  color: #333;
  line-height: 1.6;
  margin-bottom: 8px;
}

.result-meta {
  font-size: 12px;
  color: #999;
}/* 公司搜索容器样式 */
.company-search-wrapper {
  position: relative;
  width: 100%;
}

/* 公司搜索下拉列表样式 */
.company-search-dropdown-overlay {
  max-width: 500px;
  max-height: 400px;
  overflow-y: auto;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  width: 100%;
  z-index: 1050;
}

.company-search-dropdown {
  max-height: 400px;
  overflow-y: auto;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.company-search-list {
  padding: 8px 0;
}

.company-search-item {
  padding: 12px 16px !important;
  border-bottom: 1px solid #f0f0f0;
  transition: all 0.2s;
}

.company-search-item:last-child {
  border-bottom: none;
}

.company-search-item:hover {
  background: #f5f5f5;
}

.company-search-content {
  width: 100%;
}

.company-name {
  font-size: 14px;
  font-weight: 500;
  color: #333;
  margin-bottom: 6px;
}

.company-info {
  font-size: 12px;
  color: #666;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.company-info .credit-no {
  color: #999;
}

.company-info .legal-person {
  color: #666;
}

/* Dropdown 输入框样式调整 */
.company-search-dropdown-overlay .ant-input-affix-wrapper {
  border-radius: 4px;
}

.company-search-dropdown-overlay .ant-input-affix-wrapper-focused {
  border-color: #1890ff;
}.contact-selector {
  width: 100%;
}

.contact-selector-display {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  border: 1px solid #d9d9d9;
  border-radius: 2px;
  background-color: #fafafa;
}

.contact-selector-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.contact-name {
  font-weight: 500;
  color: #333;
  font-size: 14px;
}

.contact-detail {
  font-size: 12px;
  color: #666;
}

.contact-selector-placeholder {
  width: 100%;
}

.contact-selector-modal .modal-toolbar {
  margin-bottom: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.contact-selector-modal .ant-table-wrapper {
  max-height: 400px;
  overflow-y: auto;
}

.contact-selector-modal .ant-table-row {
  cursor: pointer;
}

.contact-selector-modal .ant-table-row:hover {
  background-color: #e6f7ff;
}

.contact-selector-modal .ant-table-row-selected {
  background-color: #bae7ff !important;
}/* 转客户弹窗 */
.convert-modal .convert-modal-content {
  padding: 8px 0;
}

.convert-modal .convert-info {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  background: #e6f7ff;
  border-radius: 6px;
  font-size: 13px;
  color: #666;
  margin-bottom: 16px;
}

.convert-modal .convert-info-icon {
  color: #1890ff;
  font-size: 16px;
}

/* 转客户表单样式 */
.convert-form .form-section {
  margin-bottom: 16px;
}

.convert-form .section-title {
  font-size: 14px;
  font-weight: 600;
  color: #333;
  margin-bottom: 16px;
  padding-left: 12px;
  border-left: 3px solid #1890ff;
}

.convert-form .form-row {
  display: flex;
  gap: 16px;
  margin-bottom: 16px;
}

.convert-form .form-col {
  flex: 1;
  margin-bottom: 0;
}

.convert-form .form-col-full {
  flex: 100%;
  margin-bottom: 0;
}

.convert-form .required-label {
  color: #333;
}

/* 员工选择弹窗样式 */
.employee-select-modal .employee-select-modal-content {
  padding: 8px 0;
}

.simple-content {
  display: flex;
  height: 400px;
}

.simple-content .modal-column {
  flex: 1;
  border-right: 1px solid #f0f0f0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.simple-content .modal-column:last-child {
  border-right: none;
}

.simple-content .dept-column {
  min-width: 180px;
  max-width: 180px;
  flex-shrink: 0;
}

.simple-content .employee-column {
  min-width: 250px;
}

.simple-content .column-header {
  padding: 12px 16px;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
}

.simple-content .column-search {
  width: 100%;
}

.simple-content .column-body {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}

.simple-content .dept-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  cursor: pointer;
  border-radius: 4px;
  transition: background 0.2s;
}

.simple-content .dept-item:hover {
  background: #f5f5f5;
}

.simple-content .dept-item.active {
  background: #e6f4ff;
  color: #1890ff;
}

.simple-content .dept-name {
  flex: 1;
  font-size: 13px;
  color: #333;
}

.simple-content .dept-count {
  font-size: 12px;
  color: #999;
  margin-left: 8px;
}

.simple-content .dept-tree-item {
  margin-bottom: 4px;
}

.simple-content .dept-tree-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  cursor: pointer;
  border-radius: 4px;
  transition: background 0.2s;
}

.simple-content .dept-tree-header:hover {
  background: #f5f5f5;
}

.simple-content .dept-tree-header.expanded {
  background: #e6f4ff;
}

.simple-content .dept-tree-arrow {
  font-size: 10px;
  color: #999;
  width: 12px;
  transition: transform 0.2s;
}

.simple-content .dept-tree-header.expanded .dept-tree-arrow {
  transform: rotate(90deg);
}

.simple-content .dept-tree-name {
  flex: 1;
  font-size: 13px;
  color: #333;
}

.simple-content .dept-tree-children {
  padding-left: 20px;
}

.simple-content .employee-scroll-list {
  padding: 0 8px;
}

.simple-content .employee-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 16px;
  cursor: pointer;
  transition: background 0.2s;
  border-bottom: 1px solid #f5f5f5;
}

.simple-content .employee-item:hover {
  background: #f5f5f5;
}

.simple-content .employee-item.selected {
  background: #e6f4ff;
}

.simple-content .employee-item .ant-checkbox-wrapper {
  margin-right: 8px;
  margin-top: 4px;
}

.simple-content .employee-detail {
  flex: 1;
  min-width: 0;
}

.simple-content .employee-name-role {
  font-size: 14px;
  color: #333;
  margin-bottom: 4px;
}

.simple-content .employee-name {
  font-weight: 500;
}

.simple-content .employee-role {
  color: #666;
  font-weight: normal;
}

.simple-content .employee-dept {
  font-size: 12px;
  color: #999;
}

.simple-content .employee-item-check {
  color: #1890ff;
  font-size: 16px;
}

/* 标签选择弹窗样式 */
.tag-modal-content {
  padding: 16px 0;
}

.tag-modal-content .tag-group {
  padding: 0 16px;
}

.tag-modal-content .tag-group-title {
  font-size: 14px;
  color: #333;
  margin-bottom: 12px;
}

.tag-modal-content .tag-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tag-modal-content .tag-option {
  padding: 6px 16px;
  border-radius: 4px;
  transition: all 0.2s;
}

.tag-modal-content .tag-option.selected {
  background: #1890ff;
  border-color: #1890ff;
  color: #fff;
}/* 线索编辑页面样式 - 复用新建线索页面样式 */
.leads-edit-page {
  min-height: 100vh;
  background: #f5f7fa;
}

.leads-edit-content {
  padding-bottom: 80px;
}

.leads-edit-form-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: 24px;
}

.leads-edit-header {
  margin-bottom: 24px;
}

.leads-edit-title {
  font-size: 20px;
  font-weight: 600;
  color: #333;
  margin: 0;
}

.leads-edit-form {
  background: #fff;
  padding: 24px;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.form-row {
  display: flex;
  gap: 24px;
  margin-bottom: 16px;
}

.form-row:last-child {
  margin-bottom: 0;
}

.form-col {
  flex: 1;
}

.form-col:first-child {
  flex: 1;
}

.required {
  color: #ff4d4f;
  margin-right: 4px;
}

/* 底部固定按钮 */
.leads-edit-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 64px;
  background: #fff;
  border-top: 1px solid #e8e8e8;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  padding: 0 24px;
  z-index: 100;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
}

.leads-edit-footer .ant-btn {
  min-width: 100px;
  height: 40px;
  font-size: 14px;
}

/* 员工选择弹窗 */
.employee-select-modal .employee-select-modal-content {
  display: flex;
  height: 400px;
}

.simple-employee-modal .employee-select-modal-content {
  display: flex;
  height: 400px;
}

.simple-content .modal-column {
  flex: 1;
  display: flex;
  flex-direction: column;
  border-right: 1px solid #f0f0f0;
}

.simple-content .modal-column:last-child {
  border-right: none;
}

.simple-content .column-header {
  padding: 16px;
  border-bottom: 1px solid #f0f0f0;
}

.simple-content .column-search {
  width: 100%;
  border-radius: 6px;
}

.simple-content .column-body {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}

.dept-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  cursor: pointer;
  border-radius: 6px;
  transition: all 0.2s;
}

.dept-item:hover {
  background: #f5f5f5;
}

.dept-item.active {
  background: #e6f7ff;
  color: #1890ff;
}

.dept-name {
  font-size: 14px;
}

.dept-count {
  font-size: 12px;
  color: #999;
}

.dept-tree-item {
  margin-bottom: 4px;
}

.dept-tree-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  cursor: pointer;
  border-radius: 6px;
  transition: all 0.2s;
}

.dept-tree-header:hover {
  background: #f5f5f5;
}

.dept-tree-arrow {
  font-size: 10px;
  color: #999;
  transition: transform 0.2s;
}

.dept-tree-header.expanded .dept-tree-arrow {
  transform: rotate(90deg);
}

.dept-tree-name {
  font-size: 14px;
}

.dept-tree-children {
  padding-left: 20px;
  margin-top: 4px;
}

.employee-scroll-list {
  padding: 8px;
}

.employee-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  cursor: pointer;
  border-radius: 6px;
  transition: all 0.2s;
  position: relative;
}

.employee-item:hover {
  background: #f5f5f5;
}

.employee-item.selected {
  background: #e6f7ff;
}

.employee-detail {
  flex: 1;
  min-width: 0;
}

.employee-name-role {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

.employee-name {
  font-size: 14px;
  color: #333;
  font-weight: 500;
}

.employee-role {
  font-size: 12px;
  color: #999;
}

.employee-dept {
  font-size: 12px;
  color: #666;
}

.employee-item-check {
  color: #1890ff;
  font-size: 16px;
}

/* 滚动条样式 */
.column-body::-webkit-scrollbar,
.employee-scroll-list::-webkit-scrollbar {
  width: 6px;
}

.column-body::-webkit-scrollbar-thumb,
.employee-scroll-list::-webkit-scrollbar-thumb {
  background: #d9d9d9;
  border-radius: 3px;
}

.column-body::-webkit-scrollbar-thumb:hover,
.employee-scroll-list::-webkit-scrollbar-thumb:hover {
  background: #bfbfbf;
}.public-leads-page {
  background: #f5f7fa;
  min-height: calc(100vh - 64px);
}

/* 筛选区域 */
.filter-section {
  display: flex;
  background: #fff;
  border-radius: 8px;
  margin-bottom: 16px;
  overflow: hidden;
}

/* 左侧视图和工具 */
.filter-left {
  width: 200px;
  border-right: 1px solid #f0f0f0;
  padding: 16px 0;
  background: #fafafa;
}

.my-views {
  margin-bottom: 16px;
}

.view-title {
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 600;
  color: #333;
}

.view-item {
  padding: 8px 16px 8px 24px;
  cursor: pointer;
  color: #666;
  transition: all 0.2s;
}

.view-item:hover {
  background: #e6f4ff;
  color: #1890ff;
}

.view-item.active {
  background: #e6f4ff;
  color: #1890ff;
}

.common-tools {
  margin-top: 8px;
}

.tools-title {
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 600;
  color: #333;
}

.tool-item {
  padding: 8px 16px 8px 24px;
  cursor: pointer;
  color: #666;
  transition: all 0.2s;
}

.tool-item:hover {
  background: #e6f4ff;
  color: #1890ff;
}

/* 右侧筛选条件 */
.filter-right {
  flex: 1;
  padding: 16px;
}

.filter-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.filter-title {
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 600;
  color: #333;
}

.filter-title-bar {
  width: 3px;
  height: 18px;
  background: #1890ff;
  margin-right: 8px;
  border-radius: 2px;
}

.expand-btn {
  color: #1890ff;
}

/* 筛选内容 */
.filter-content {
  margin-bottom: 16px;
}

.filter-row {
  display: flex;
  align-items: flex-start;
  margin-bottom: 16px;
  min-height: 32px;
}

.filter-label {
  width: 100px;
  color: #999;
  font-size: 14px;
  line-height: 32px;
  flex-shrink: 0;
}

.filter-value {
  flex: 1;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.filter-value .ant-space {
  display: flex;
  flex-wrap: wrap;
}

/* 按钮样式 */
.filter-value .ant-btn-link {
  color: #666;
  padding: 4px 8px;
}

.filter-value .ant-btn-link.active,
.filter-value .ant-btn-link:hover {
  color: #1890ff;
}

/* 输入框样式 */
.employee-input,
.tag-input {
  width: 300px;
}

.employee-input .ant-input,
.tag-input .ant-input {
  border-radius: 4px 0 0 4px;
}

.employee-input .ant-btn,
.tag-input .ant-btn {
  border-radius: 0 4px 4px 0;
  height: 32px;
}

/* Radio 和 Checkbox 样式 */
.filter-value .ant-radio-wrapper,
.filter-value .ant-checkbox-wrapper {
  margin-right: 16px;
  color: #666;
}

/* 已选筛选条件 */
.selected-filters {
  display: flex;
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid #f0f0f0;
  gap: 8px;
}

.selected-label {
  color: #999;
  font-size: 14px;
}

.selected-tags {
  display: flex;
  gap: 8px;
  flex: 1;
}

.selected-tags .ant-tag {
  margin: 0;
  padding: 2px 8px;
  font-size: 13px;
}

.clear-btn {
  color: #1890ff;
}

/* 操作栏 */
.action-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  padding: 16px;
  border-radius: 8px;
  margin-bottom: 16px;
}

.action-left {
  display: flex;
  gap: 8px;
}

.action-right {
  display: flex;
  gap: 8px;
  align-items: center;
}

.search-type-select {
  width: 100px;
}

.search-type-select .ant-select-selector {
  border-radius: 4px 0 0 4px;
}

.search-input {
  width: 250px;
}

.search-input .ant-input {
  border-radius: 0 4px 4px 0;
}

/* 表格容器 */
.table-container {
  background: #fff;
  border-radius: 8px;
  padding: 16px;
}

.table-container .ant-table {
  font-size: 14px;
}

.table-container .ant-table-thead > tr > th {
  background: #fafafa;
  font-weight: 600;
}

.table-container .ant-table-tbody > tr:hover > td {
  background: #e6f4ff;
}

/* 标签弹窗 */
.tag-modal .tag-modal-content {
  padding: 8px 0;
}

.tag-group {
  margin-bottom: 16px;
}

.tag-group-title {
  font-size: 14px;
  color: #666;
  margin-bottom: 12px;
  padding-left: 4px;
  border-left: 2px solid #1890ff;
}

.tag-options {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.tag-option {
  min-width: 80px;
  border-radius: 6px;
  border: 1px solid #d9d9d9;
  background: #fafafa;
  color: #666;
  transition: all 0.2s;
}

.tag-option:hover {
  border-color: #1890ff;
  color: #1890ff;
  background: #e6f4ff;
}

.tag-option.selected {
  border-color: #1890ff;
  background: #1890ff;
  color: #fff;
}

/* 员工弹窗 */
.employee-modal .employee-modal-content {
  padding: 8px 0;
}

.employee-search-input {
  margin-bottom: 12px;
}

.employee-list {
  max-height: 300px;
  overflow-y: auto;
}

.employee-item {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  cursor: pointer;
  border-radius: 6px;
  transition: all 0.2s;
}

.employee-item:hover {
  background: #f5f5f5;
}

.employee-item.selected {
  background: #e6f4ff;
}

.employee-item-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #1890ff;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  margin-right: 12px;
  flex-shrink: 0;
}

.employee-item-info {
  flex: 1;
}

.employee-item-name {
  font-weight: 500;
  color: #333;
  margin-bottom: 2px;
}

.employee-item-dept {
  font-size: 12px;
  color: #999;
}

.employee-item-check {
  color: #1890ff;
  font-size: 18px;
}

/* 滚动条样式 */
.employee-list::-webkit-scrollbar {
  width: 6px;
}

.employee-list::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}

.employee-list::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}

.employee-list::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* 表格固定列样式 */
.table-container .ant-table-fixed-left,
.table-container .ant-table-fixed-right {
  background: #fff;
}

.table-container .ant-table-thead > tr > th.ant-table-cell-fix-left,
.table-container .ant-table-thead > tr > th.ant-table-cell-fix-right {
  background: #fafafa;
}

.table-container .ant-table-tbody > tr:hover > td.ant-table-cell-fix-left,
.table-container .ant-table-tbody > tr:hover > td.ant-table-cell-fix-right {
  background: #e6f4ff;
}

/* 批量操作工具栏 */
.batch-action-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.batch-action-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.batch-action-count {
  font-size: 14px;
  color: #1890ff;
  font-weight: 500;
  margin-right: 16px;
}

.batch-action-right {
  display: flex;
  gap: 8px;
}

/* 转移弹窗 */
.transfer-modal .transfer-modal-content {
  padding: 8px 0;
}

.transfer-info {
  margin-bottom: 16px;
}

.transfer-count {
  font-size: 14px;
  color: #666;
  background: #e6f4ff;
  padding: 8px 12px;
  border-radius: 4px;
}

.transfer-form {
  margin-bottom: 16px;
}

.transfer-label {
  font-size: 14px;
  color: #333;
  margin-bottom: 8px;
}

/* 响应式 */
@media (max-width: 1400px) {
  .filter-left {
    width: 160px;
  }
  
  .employee-input,
  .tag-input {
    width: 250px;
  }
}

/* 员工树形选择弹窗 */
.employee-tree-modal .ant-modal-body {
  padding: 0;
}

.employee-tree-modal-content {
  display: flex;
  height: 600px;
}

/* 左侧部门树 */
.modal-left {
  width: 250px;
  border-right: 1px solid #f0f0f0;
  display: flex;
  flex-direction: column;
}

.modal-left .modal-search-input {
  padding: 12px;
  border-bottom: 1px solid #f0f0f0;
}

.modal-left .modal-search-input .ant-input {
  border-radius: 4px;
}

.modal-left-header {
  padding: 12px 16px;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
  font-weight: 500;
}

.tree-content {
  flex: 1;
  overflow-y: auto;
  padding: 8px 0;
}

.tree-item {
  position: relative;
}

.tree-node {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  cursor: pointer;
  transition: all 0.2s;
  color: #333;
}

.tree-node:hover {
  background: #e6f4ff;
}

.tree-node.selected {
  background: #1890ff;
  color: #fff;
}

.tree-node.selected .tree-node-label {
  color: #fff;
}

.tree-expand-icon {
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 4px;
  font-size: 10px;
  color: #999;
  transition: transform 0.2s;
  cursor: pointer;
}

.tree-node.selected .tree-expand-icon {
  color: #fff;
}

.tree-expand-icon.expanded {
  transform: rotate(90deg);
}

.tree-expand-icon.empty {
  visibility: hidden;
}

.tree-node-label {
  flex: 1;
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tree-children {
  padding-left: 16px;
}

/* 中间员工列表 */
.modal-middle {
  width: 300px;
  border-right: 1px solid #f0f0f0;
  display: flex;
  flex-direction: column;
}

.modal-middle-header {
  padding: 12px 16px;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
  font-weight: 500;
}

.employee-list-container {
  flex: 1;
  overflow-y: auto;
}

.employee-item {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  cursor: pointer;
  border-bottom: 1px solid #f5f5f5;
  transition: all 0.2s;
}

.employee-item:hover {
  background: #f5f5f5;
}

.employee-item.selected {
  background: #e6f4ff;
}

.employee-item .ant-checkbox-wrapper {
  margin-right: 8px;
}

.employee-item-content {
  flex: 1;
  min-width: 0;
}

.employee-item-name {
  font-size: 14px;
  color: #333;
  margin-bottom: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.employee-item-dept {
  font-size: 12px;
  color: #999;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 右侧已选择 */
.modal-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  background: #fafafa;
}

.modal-right-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: #fff;
  border-bottom: 1px solid #f0f0f0;
}

.modal-right-title {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

.modal-close-icon {
  cursor: pointer;
  color: #999;
  font-size: 16px;
  transition: color 0.2s;
}

.modal-close-icon:hover {
  color: #333;
}

.modal-right .modal-search-input {
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
}

.selected-employee-list {
  flex: 1;
  overflow-y: auto;
  padding: 12px 16px;
}

.selected-employee-item {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  background: #fff;
  border-radius: 4px;
  margin-bottom: 8px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  transition: all 0.2s;
}

.selected-employee-item:hover {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.selected-employee-name {
  flex: 1;
  margin-left: 8px;
  font-size: 14px;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.remove-employee-icon {
  color: #999;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s;
  padding: 4px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.remove-employee-icon:hover {
  color: #ff4d4f;
  background: #fff1f0;
}

.empty-selected {
  text-align: center;
  color: #999;
  padding: 20px;
  font-size: 14px;
}

/* 滚动条样式 */
.tree-content::-webkit-scrollbar,
.employee-list-container::-webkit-scrollbar,
.selected-employee-list::-webkit-scrollbar {
  width: 6px;
}

.tree-content::-webkit-scrollbar-track,
.employee-list-container::-webkit-scrollbar-track,
.selected-employee-list::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}

.tree-content::-webkit-scrollbar-thumb,
.employee-list-container::-webkit-scrollbar-thumb,
.selected-employee-list::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}

.tree-content::-webkit-scrollbar-thumb:hover,
.employee-list-container::-webkit-scrollbar-thumb:hover,
.selected-employee-list::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}.leads-list-page {
  background: #f5f7fa;
  min-height: calc(100vh - 64px);
}

/* 筛选区域 */
.filter-section {
  display: flex;
  background: #fff;
  border-radius: 8px;
  margin-bottom: 16px;
  overflow: hidden;
}

/* 左侧视图和工具 */
.filter-left {
  width: 200px;
  border-right: 1px solid #f0f0f0;
  padding: 16px 0;
  background: #fafafa;
}

.my-views {
  margin-bottom: 16px;
}

.view-title {
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 600;
  color: #333;
}

.view-item {
  padding: 8px 16px 8px 24px;
  cursor: pointer;
  color: #666;
  transition: all 0.2s;
}

.view-item:hover {
  background: #e6f4ff;
  color: #1890ff;
}

.view-item.active {
  background: #e6f4ff;
  color: #1890ff;
}

.common-tools {
  margin-top: 8px;
}

.tools-title {
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 600;
  color: #333;
}

.tool-item {
  padding: 8px 16px 8px 24px;
  cursor: pointer;
  color: #666;
  transition: all 0.2s;
}

.tool-item:hover {
  background: #e6f4ff;
  color: #1890ff;
}

/* 右侧筛选条件 */
.filter-right {
  flex: 1;
  padding: 16px;
}

.filter-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.filter-title {
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 600;
  color: #333;
}

.filter-title-bar {
  width: 3px;
  height: 18px;
  background: #1890ff;
  margin-right: 8px;
  border-radius: 2px;
}

.expand-btn {
  color: #1890ff;
}

/* 筛选内容 */
.filter-content {
  margin-bottom: 16px;
}

.filter-row {
  display: flex;
  align-items: flex-start;
  margin-bottom: 16px;
  min-height: 32px;
}

.filter-label {
  width: 100px;
  color: #999;
  font-size: 14px;
  line-height: 32px;
  flex-shrink: 0;
}

.filter-value {
  flex: 1;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.filter-value .ant-space {
  display: flex;
  flex-wrap: wrap;
}

/* 按钮样式 */
.filter-value .ant-btn-link {
  color: #666;
  padding: 4px 8px;
}

.filter-value .ant-btn-link.active,
.filter-value .ant-btn-link:hover {
  color: #1890ff;
}

/* 输入框样式 */
.employee-input,
.tag-input {
  width: 300px;
}

.employee-input .ant-input,
.tag-input .ant-input {
  border-radius: 4px 0 0 4px;
}

.employee-input .ant-btn,
.tag-input .ant-btn {
  border-radius: 0 4px 4px 0;
  height: 32px;
}

/* Radio 和 Checkbox 样式 */
.filter-value .ant-radio-wrapper,
.filter-value .ant-checkbox-wrapper {
  margin-right: 16px;
  color: #666;
}

/* 已选筛选条件 */
.selected-filters {
  display: flex;
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid #f0f0f0;
  gap: 8px;
}

.selected-label {
  color: #999;
  font-size: 14px;
}

.selected-tags {
  display: flex;
  gap: 8px;
  flex: 1;
}

.selected-tags .ant-tag {
  margin: 0;
  padding: 2px 8px;
  font-size: 13px;
}

.clear-btn {
  color: #1890ff;
}

/* 操作栏 */
.action-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  padding: 16px;
  border-radius: 8px;
  margin-bottom: 16px;
}

.action-left {
  display: flex;
  gap: 8px;
}

.action-right {
  display: flex;
  gap: 8px;
  align-items: center;
}

.search-type-select {
  width: 100px;
}

.search-type-select .ant-select-selector {
  border-radius: 4px 0 0 4px;
}

.search-input {
  width: 250px;
}

.search-input .ant-input {
  border-radius: 0 4px 4px 0;
}

/* 表格容器 */
.table-container {
  background: #fff;
  border-radius: 8px;
  padding: 16px;
}

.table-container .ant-table {
  font-size: 14px;
}

.table-container .ant-table-thead > tr > th {
  background: #fafafa;
  font-weight: 600;
}

.table-container .ant-table-tbody > tr:hover > td {
  background: #e6f4ff;
}

/* 标签弹窗 */
.tag-modal .tag-modal-content {
  padding: 8px 0;
}

.tag-group {
  margin-bottom: 16px;
}

.tag-group-title {
  font-size: 14px;
  color: #666;
  margin-bottom: 12px;
  padding-left: 4px;
  border-left: 2px solid #1890ff;
}

.tag-options {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.tag-option {
  min-width: 80px;
  border-radius: 6px;
  border: 1px solid #d9d9d9;
  background: #fafafa;
  color: #666;
  transition: all 0.2s;
}

.tag-option:hover {
  border-color: #1890ff;
  color: #1890ff;
  background: #e6f4ff;
}

.tag-option.selected {
  border-color: #1890ff;
  background: #1890ff;
  color: #fff;
}

/* 员工弹窗 */
.employee-modal .employee-modal-content {
  padding: 8px 0;
}

.employee-search-input {
  margin-bottom: 12px;
}

.employee-list {
  max-height: 300px;
  overflow-y: auto;
}

.employee-item {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  cursor: pointer;
  border-radius: 6px;
  transition: all 0.2s;
}

.employee-item:hover {
  background: #f5f5f5;
}

.employee-item.selected {
  background: #e6f4ff;
}

.employee-item-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #1890ff;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  margin-right: 12px;
  flex-shrink: 0;
}

.employee-item-info {
  flex: 1;
}

.employee-item-name {
  font-weight: 500;
  color: #333;
  margin-bottom: 2px;
}

.employee-item-dept {
  font-size: 12px;
  color: #999;
}

.employee-item-check {
  color: #1890ff;
  font-size: 18px;
}

/* 滚动条样式 */
.employee-list::-webkit-scrollbar {
  width: 6px;
}

.employee-list::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}

.employee-list::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}

.employee-list::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* 表格固定列样式 */
.table-container .ant-table-fixed-left,
.table-container .ant-table-fixed-right {
  background: #fff;
}

.table-container .ant-table-thead > tr > th.ant-table-cell-fix-left,
.table-container .ant-table-thead > tr > th.ant-table-cell-fix-right {
  background: #fafafa;
}

.table-container .ant-table-tbody > tr:hover > td.ant-table-cell-fix-left,
.table-container .ant-table-tbody > tr:hover > td.ant-table-cell-fix-right {
  background: #e6f4ff;
}

/* 批量操作工具栏 */
.batch-action-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.batch-action-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.batch-action-count {
  font-size: 14px;
  color: #1890ff;
  font-weight: 500;
  margin-right: 16px;
}

.batch-action-right {
  display: flex;
  gap: 8px;
}

/* 转移弹窗 */
.transfer-modal .transfer-modal-content {
  padding: 8px 0;
}

.transfer-info {
  margin-bottom: 16px;
}

.transfer-count {
  font-size: 14px;
  color: #666;
  background: #e6f4ff;
  padding: 8px 12px;
  border-radius: 4px;
}

.transfer-form {
  margin-bottom: 16px;
}

.transfer-label {
  font-size: 14px;
  color: #333;
  margin-bottom: 8px;
}

/* 响应式 */
@media (max-width: 1400px) {
  .filter-left {
    width: 160px;
  }
  
  .employee-input,
  .tag-input {
    width: 250px;
  }
}

/* 员工树形选择弹窗 */
.employee-tree-modal .ant-modal-body {
  padding: 0;
}

.employee-tree-modal-content {
  display: flex;
  height: 600px;
}

/* 左侧部门树 */
.modal-left {
  width: 250px;
  border-right: 1px solid #f0f0f0;
  display: flex;
  flex-direction: column;
}

.modal-left .modal-search-input {
  padding: 12px;
  border-bottom: 1px solid #f0f0f0;
}

.modal-left .modal-search-input .ant-input {
  border-radius: 4px;
}

.modal-left-header {
  padding: 8px 12px;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
}

.tree-content {
  flex: 1;
  overflow-y: auto;
  padding: 8px 0;
}

.tree-item {
  position: relative;
}

.tree-node {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  cursor: pointer;
  transition: all 0.2s;
  color: #333;
}

.tree-node:hover {
  background: #e6f4ff;
}

.tree-node.selected {
  background: #1890ff;
  color: #fff;
}

.tree-node.selected .tree-node-label {
  color: #fff;
}

.tree-expand-icon {
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 4px;
  font-size: 10px;
  color: #999;
  transition: transform 0.2s;
  cursor: pointer;
}

.tree-node.selected .tree-expand-icon {
  color: #fff;
}

.tree-expand-icon.expanded {
  transform: rotate(90deg);
}

.tree-expand-icon.empty {
  visibility: hidden;
}

.tree-node-label {
  flex: 1;
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tree-children {
  padding-left: 16px;
}

/* 中间员工列表 */
.modal-middle {
  width: 300px;
  border-right: 1px solid #f0f0f0;
  display: flex;
  flex-direction: column;
}

.modal-middle-header {
  padding: 12px 16px;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
  font-weight: 500;
}

.employee-list-container {
  flex: 1;
  overflow-y: auto;
}

.employee-item {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  cursor: pointer;
  border-bottom: 1px solid #f5f5f5;
  transition: all 0.2s;
}

.employee-item:hover {
  background: #f5f5f5;
}

.employee-item.selected {
  background: #e6f4ff;
}

.employee-item .ant-checkbox-wrapper {
  margin-right: 8px;
}

.employee-item-content {
  flex: 1;
  min-width: 0;
}

.employee-item-name {
  font-size: 14px;
  color: #333;
  margin-bottom: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.employee-item-dept {
  font-size: 12px;
  color: #999;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 右侧已选择 */
.modal-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  background: #fafafa;
}

.modal-right-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: #fff;
  border-bottom: 1px solid #f0f0f0;
}

.modal-right-title {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

.modal-close-icon {
  cursor: pointer;
  color: #999;
  font-size: 16px;
  transition: color 0.2s;
}

.modal-close-icon:hover {
  color: #333;
}

.modal-right .modal-search-input {
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
}

.selected-employee-list {
  flex: 1;
  overflow-y: auto;
  padding: 12px 16px;
}

.selected-employee-item {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  background: #fff;
  border-radius: 4px;
  margin-bottom: 8px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  transition: all 0.2s;
}

.selected-employee-item:hover {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.selected-employee-name {
  flex: 1;
  margin-left: 8px;
  font-size: 14px;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.remove-employee-icon {
  color: #999;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s;
  padding: 4px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.remove-employee-icon:hover {
  color: #ff4d4f;
  background: #fff1f0;
}

.empty-selected {
  text-align: center;
  color: #999;
  padding: 20px;
  font-size: 14px;
}

/* 滚动条样式 */
.tree-content::-webkit-scrollbar,
.employee-list-container::-webkit-scrollbar,
.selected-employee-list::-webkit-scrollbar {
  width: 6px;
}

.tree-content::-webkit-scrollbar-track,
.employee-list-container::-webkit-scrollbar-track,
.selected-employee-list::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}

.tree-content::-webkit-scrollbar-thumb,
.employee-list-container::-webkit-scrollbar-thumb,
.selected-employee-list::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}

.tree-content::-webkit-scrollbar-thumb:hover,
.employee-list-container::-webkit-scrollbar-thumb:hover,
.selected-employee-list::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}
/* Leads 布局样式 */
.leads-layout {
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow: hidden;
  background-color: #f5f5f5;
}

/* 顶部导航栏 */
.leads-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 50px;
  padding: 0 16px;
  background-color: #fff;
  border-bottom: 1px solid #e8e8e8;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  z-index: 100;
}

.leads-header-left {
  display: flex;
  align-items: center;
  gap: 16px;
}

.leads-menu-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s;
  font-size: 16px;
  color: #666;
}

.leads-menu-toggle:hover {
  background-color: #f0f0f0;
}

.leads-header-logo {
  display: flex;
  align-items: center;
  gap: 8px;
}

.leads-header-logo-img {
  height: 28px;
  width: auto;
}

.leads-header-logo-text {
  font-size: 18px;
  font-weight: 600;
  color: #333;
}

.leads-header-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

.leads-header-user {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 12px;
  border-radius: 4px;
  background-color: #f5f5f5;
}

.leads-header-user-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 500;
}

.leads-header-user-name {
  font-size: 13px;
  color: #333;
}

.leads-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.leads-header-action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 4px;
  background-color: transparent;
  cursor: pointer;
  transition: all 0.3s;
  font-size: 18px;
  color: #666;
}

.leads-header-action-btn:hover {
  background-color: #f0f0f0;
  color: #333;
}

.leads-header-action-btn.logout:hover {
  background-color: #fff1f0;
  color: #ff4d4f;
}

/* 主体内容区 */
.leads-body {
  display: flex;
  flex: 1;
  overflow: hidden;
}

/* 左侧边栏 */
.leads-sidebar {
  width: 240px;
  max-width: 240px;
  min-width: 240px;
  background-color: #fff;
  border-right: 1px solid #e8e8e8;
  transition: width 0.3s;
  display: flex;
  flex-direction: column;
}

.leads-sidebar.collapsed {
  width: 0;
  border-right: none;
}

/* 侧边栏头部 */
.leads-sidebar-header {
  padding: 16px;
  border-bottom: 1px solid #e8e8e8;
  display: flex;
  align-items: center;
  justify-content: center;
}

.leads-sidebar-logo {
  display: flex;
  align-items: center;
  gap: 8px;
}

.leads-sidebar-logo-img {
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.leads-sidebar-logo-text {
  font-size: 16px;
  font-weight: 600;
  color: #333;
}

/* 侧边栏菜单 */
.leads-sidebar-menu {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 8px;
}

.leads-sidebar-menu::-webkit-scrollbar {
  width: 4px;
}

.leads-sidebar-menu::-webkit-scrollbar-track {
  background: transparent;
}

.leads-sidebar-menu::-webkit-scrollbar-thumb {
  background: #e8e8e8;
  border-radius: 2px;
}

/* 覆盖 Ant Design Menu 默认样式 */
.leads-sidebar-menu .ant-menu {
  background: transparent !important;
}

.leads-sidebar-menu .ant-menu-item {
  margin: 4px 0 !important;
  border-radius: 8px !important;
  transition: all 0.3s ease !important;
}

.leads-sidebar-menu .ant-menu-item:hover {
  background: #f5f5f5 !important;
}

.leads-sidebar-menu .ant-menu-item-selected {
  background: #e6f7ff !important;
}

.leads-sidebar-menu .ant-menu-item-selected .anticon {
  color: #1890ff !important;
}

.leads-sidebar-menu .ant-menu-submenu-title {
  border-radius: 8px !important;
  transition: all 0.3s ease !important;
}

.leads-sidebar-menu .ant-menu-submenu-title:hover {
  background: #f5f5f5 !important;
}

.leads-sidebar-menu .ant-menu-submenu-selected .ant-menu-submenu-title {
  color: #1890ff !important;
}

.leads-sidebar-menu .ant-menu-sub {
  background: transparent !important;
}

.leads-sidebar-menu .ant-menu-submenu-popup {
  border-radius: 8px !important;
}

/* 主内容区 */
.leads-main-content {
  flex: 1;
  overflow: auto;
  background-color: #f5f5f5;
}/* 工作计划容器 */
.work-plan-container {
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: #f5f5f5;
}

/* 日历日期选择器 */
.calendar-date-selector {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 12px;
  padding: 8px 0;
}

.calendar-date-selector .selector-separator {
  color: #666;
  font-size: 14px;
}

.year-select,
.month-select {
  font-size: 14px;
}

/* 右侧内容区 */
.work-plan-content {
  flex: 1;
  overflow: hidden;
  background-color: #fff;
  margin: 16px;
  border-radius: 8px;
  border: 1px solid #e8e8e8;
}

/* 列表视图 */
.list-view {
  padding: 16px;
  height: 100%;
  overflow-y: auto;
}

.list-view-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.list-view-weekday {
  color: #999;
  font-size: 14px;
}

/* 统计卡片 */
.plan-stats-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-bottom: 20px;
  padding: 16px;
  background-color: #fafafa;
  border-radius: 8px;
}

.plan-stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  min-width: 80px;
}

.stat-label {
  font-size: 12px;
  color: #666;
}

.stat-value {
  font-size: 24px;
  font-weight: 600;
  color: #0066ff;
}

.stat-uncompleted { color: #0066ff; }
.stat-completed { color: #0066ff; }
.stat-overdue { color: #0066ff; }
.stat-total { color: #0066ff; }

/* 统计组样式（用于本年/本月统计） */
.stats-group {
  display: flex;
  align-items: center;
  gap: 12px;
}

.stats-group-title {
  font-weight: 600;
  color: #333;
  font-size: 14px;
}

.stats-item {
  font-size: 13px;
  color: #666;
}

.stats-item b {
  color: #1890ff;
  font-weight: 600;
}

.stats-divider {
  width: 1px;
  height: 32px;
  background-color: #e8e8e8;
}

/* 列表分区 */
.list-section {
  margin-bottom: 16px;
}

.list-section-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  background-color: #fafafa;
  border-radius: 4px;
  cursor: pointer;
  margin-bottom: 8px;
}

.section-arrow {
  font-size: 12px;
  transition: transform 0.3s;
  color: #999;
}

.section-arrow.expanded {
  transform: rotate(90deg);
}

.section-title {
  font-weight: 500;
  color: #333;
}

.section-count {
  color: #999;
  font-size: 12px;
}

.empty-section {
  padding: 24px;
  text-align: center;
  color: #999;
  font-size: 13px;
}

/* 表格视图 */
.table-view {
  padding: 16px;
  height: 100%;
  overflow: auto;
}

.plan-table-cell {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.plan-table-title {
  flex: 1;
}

.loading-state {
  padding: 40px;
  text-align: center;
  color: #999;
}

/* 顶部操作栏 */
.work-plan-header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 24px;
  background-color: #fff;
  border-bottom: 1px solid #e8e8e8;
}

.work-plan-tabs {
  display: flex;
  gap: 24px;
}

.work-plan-tab {
  font-size: 14px;
  color: #666;
  cursor: pointer;
  padding: 8px 0;
  position: relative;
  transition: color 0.3s;
}

.work-plan-tab:hover {
  color: #333;
}

.work-plan-tab.active {
  color: #1890ff;
  font-weight: 500;
}

.work-plan-tab.active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #1890ff;
}

.work-plan-filters {
  display: flex;
  gap: 16px;
  padding: 8px 16px;
  background-color: #fafafa;
  border-radius: 4px;
}

.work-plan-filters .ant-checkbox-wrapper {
  font-size: 13px;
  color: #666;
}

.work-plan-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

.view-mode-toggle {
  display: flex;
  gap: 0;
}

.view-mode-toggle .ant-btn {
  border-radius: 0;
}

.view-mode-toggle .ant-btn:first-child {
  border-radius: 4px 0 0 4px;
}

.view-mode-toggle .ant-btn:last-child {
  border-radius: 0 4px 4px 0;
}

/* 主体内容 */
.work-plan-body {
  display: flex;
  flex: 1;
  overflow: hidden;
}

/* 左侧边栏 */
.work-plan-sidebar {
  width: 340px;
  background-color: #fff;
  border-right: 1px solid #e8e8e8;
  padding: 16px;
  overflow-y: auto;
}

/* 自定义日历包装器 */
.custom-calendar-wrapper {
  margin-bottom: 16px;
  background-color: #f5f5f5;
  border-radius: 8px;
  padding: 12px;
}

/* 自定义日历头部 */
.custom-calendar-header {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  padding: 4px 8px;
}

.calendar-title {
  font-size: 15px;
  font-weight: 500;
  color: #333;
}

.calendar-controls {
  display: flex;
  gap: 8px;
}

.calendar-controls .ant-btn {
  min-width: 28px;
  padding: 0 8px;
  height: 28px;
  font-size: 13px;
}

/* 工作日历样式 */
.work-plan-calendar {
  background-color: #f5f5f5;
}

.work-plan-calendar .ant-picker-calendar-header {
  display: none !important;
}

.work-plan-calendar .ant-picker-panel {
  background-color: #f5f5f5;
}

/* 隐藏 Ant Design 日历的默认头部 */
.work-plan-calendar .ant-picker-panel-header {
  display: none !important;
}

/* 星期标题行 */
.work-plan-calendar .ant-picker-content th {
  font-size: 12px;
  color: #999;
  font-weight: 400;
  padding: 8px 0;
}
.ant-picker-calendar-date{
  border-top: none !important;
  border: none !important;
}
.ant-picker-cell-today::before{
  background-color: #f5f5f5 !important;

  /* border: none !important; */
}
.ant-picker-calendar-date-today{
  background-color: #f5f5f5 !important;
  border: none !important;
}

/* 日期单元格 */
.work-plan-calendar .ant-picker-content td {
  padding: 4px;
}

.work-plan-calendar .ant-picker-cell {
  background-color: transparent;
  border: none !important;
}

.work-plan-calendar .ant-picker-cell-selected .ant-picker-cell-inner {
  background-color: #f4f4f4 !important;
  color: #333;
}

/*日历重影问题*/
.work-plan-calendar .ant-picker-calendar-date-value {
  display: none !important;
}

.ant-picker-cell-inner .ant-picker-calendar-date-value {
  display: none !important;
}

/* 自定义日期渲染 */
.custom-calendar-date {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  position: relative;
}

/* 修复 Ant Design 5.x cellRender 重叠问题 */
.work-plan-calendar .ant-picker-cell-inner {
  padding: 0 !important;
}

.work-plan-calendar .ant-picker-cell-inner .custom-calendar-date {
  padding: 2px;
}

.calendar-day-value {
  font-size: 14px;
  color: #333;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.2s;
}

.calendar-day {
  font-size: 14px;
  color: #333;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: all 0.2s;
}

.calendar-day.today {
  /* background-color: #1890ff; */
  color: #1890ff !important;
}

/* 今天且被选中时的样式 */
.work-plan-calendar .ant-picker-cell-selected .calendar-day.today {
  background-color: #1890ff !important;
  color: #fff !important;
}

/* 计划标记点 */
.calendar-plan-dot {
  position: absolute;
  bottom: 4px;
  left: 50%;
  transform: translateX(-50%);
  width: 5px;
  height: 5px;
  background-color: #1890ff;
  border-radius: 50%;
  z-index: 1;
}

.calendar-day.today + .calendar-plan-dot {
  background-color: #fff;
}

.calendar-day-value:hover {
  background-color: #e6f7ff;
}

.calendar-day-value.selected {
  background-color: #1890ff;
  color: #fff;
}

.calendar-day-value.today {
  background-color: #1890ff;
  color: #fff;
  position: relative;
}

.calendar-day-value.today::after {
  content: '';
  position: absolute;
  bottom: 4px;
  width: 4px;
  height: 4px;
  background-color: #fff;
  border-radius: 50%;
}

.calendar-day-text {
  font-size: 10px;
  color: #999;
  margin-top: 2px;
}

/* 计划标记点 */
.calendar-dots {
  display: flex;
  gap: 3px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 2px;
}

.calendar-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #1890ff;
}

.calendar-dot.completed {
  background-color: #52c41a;
}

.calendar-dot.pending {
  background-color: #faad14;
}

/* 覆盖 Ant Design 日历单元格的选中状态 */
.work-plan-calendar .ant-picker-cell-selected {
  background-color: transparent;
}

.work-plan-calendar .ant-picker-cell-selected .ant-picker-cell-inner {
  background-color: transparent;
  color: #333;
}
.ant-picker-cell-inner::before{
  border: none !important;
}

/* 修复选中日期的样式 - 确保选中效果覆盖任务点 */
.work-plan-calendar .ant-picker-cell-selected .calendar-day {
  background-color: #667eea !important;
  color: #fff !important;
  position: relative;
  z-index: 2;
}

/* 选中日期且有任务点时，任务点也变成白色 */
.work-plan-calendar .ant-picker-cell-selected .calendar-plan-dot {
  background-color: #fff !important;
  z-index: 3;
}

/* 筛选面板 */
.work-plan-filters-panel {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.filter-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.filter-label {
  font-size: 13px;
  color: #333;
  font-weight: 500;
}

.filter-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.filter-options .ant-btn {
  flex: 1;
  min-width: calc(50% - 4px);
  font-size: 12px;
  padding: 4px 8px;
  height: 28px;
}

/* 主内容区 */
.work-plan-content {
  flex: 1;
  overflow: auto;
  padding: 16px;
}

.calendar-view {
  background-color: #fff;
  border-radius: 8px;
  padding: 0;
  overflow: hidden;
}

/* 完整日历头部 */
.full-calendar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background-color: #fafafa;
  border-bottom: 1px solid #e8e8e8;
}

.full-calendar-title {
  font-size: 15px;
  font-weight: 500;
  color: #333;
}

.full-calendar-controls {
  display: flex;
  gap: 8px;
}

.full-calendar-controls .ant-btn {
  min-width: 28px;
  padding: 0 8px;
  height: 28px;
  font-size: 13px;
}

/* 完整日历视图 */
.work-plan-full-calendar {
  background-color: #fff;
}

.work-plan-full-calendar .ant-picker-calendar-header {
  display: none !important;
}

.work-plan-full-calendar .ant-picker-panel {
  background-color: #fff;
}

.work-plan-full-calendar .ant-picker-panel-header {
  display: none !important;
}

/* 星期标题 */
.work-plan-full-calendar .ant-picker-content th {
  font-size: 12px;
  color: #999;
  font-weight: 400;
  padding: 12px 0;
  border-bottom: 1px solid #f0f0f0;
}

/* 日期单元格 */
.work-plan-full-calendar .ant-picker-content td {
  padding: 8px;
  border-right: 1px solid #f0f0f0;
  border-bottom: 1px solid #f0f0f0;
}

.work-plan-full-calendar .ant-picker-cell {
  background-color: #fff;
}

/* 完整日历单元格内容 */
.full-calendar-cell {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.full-calendar-date-header {
  margin-bottom: 8px;
}

.full-calendar-date {
  font-size: 14px;
  font-weight: 500;
  color: #333;
  padding: 4px 8px;
  border-radius: 4px;
  background-color: #fafafa;
}

.full-calendar-date.today {
  background-color: #1890ff;
  color: #fff;
}
/* 计划列表 */
.full-calendar-plans {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
  overflow-y: auto;
}

.plan-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s;
  border-left: 3px solid #1890ff;
}

.plan-item.pending {
  background-color: #e6f7ff;
}

.plan-item.completed {
  background-color: #f6ffed;
  border-left-color: #52c41a;
}

.plan-item:hover {
  opacity: 0.8;
  transform: translateX(2px);
}

.plan-status {
  font-size: 11px;
  padding: 2px 6px;
  border-radius: 3px;
  white-space: nowrap;
}

.plan-status.completed {
  color: #52c41a;
  background-color: rgba(82, 196, 26, 0.1);
}

.plan-status.pending {
  color: #1890ff;
  background-color: rgba(24, 144, 255, 0.1);
}

.plan-title {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #333;
  font-weight: 500;
}

/* 新建计划弹窗 */
.new-plan-modal .plan-title-row {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.new-plan-modal .plan-title-row .ant-form-item {
  flex: 1;
  margin-bottom: 0;
}

.fill-content-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #1890ff;
  cursor: pointer;
  padding-top: 8px;
}

.new-plan-modal .required {
  color: #ff4d4f;
  margin-right: 4px;
}

/* 计划详情弹窗 */
.plan-detail-modal .plan-detail-content {
  max-height: 70vh;
  overflow-y: auto;
}

.plan-detail-header {
  display: flex;
  gap: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 20px;
}

.plan-detail-main {
  flex: 1;
}

.plan-check-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.plan-time {
  color: #999;
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 4px;
}

.plan-detail-title {
  margin-bottom: 16px;
  font-size: 20px;
  font-weight: 600;
  color: #333;
  line-height: 1.4;
}

.plan-meta {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 16px;
  color: #666;
  font-size: 13px;
}

.plan-creator {
  display: flex;
  align-items: center;
  gap: 8px;
}

.plan-creator .ant-avatar {
  width: 24px;
  height: 24px;
  font-size: 12px;
}

.plan-participants {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  padding: 12px 16px;
  background-color: #fafafa;
  border-radius: 8px;
}

.participant-label {
  color: #999;
  font-size: 13px;
  font-weight: 500;
}

.participant-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 8px;
  background-color: #fff;
  border-radius: 4px;
}

.participant-item .ant-avatar {
  width: 24px;
  height: 24px;
  font-size: 12px;
}

.plan-knowers,
.plan-readers {
  font-size: 13px;
  color: #666;
  margin-bottom: 8px;
  padding: 8px 12px;
  background-color: #fafafa;
  border-radius: 6px;
}

.knower-label,
.reader-label {
  color: #999;
  margin-right: 8px;
  font-weight: 500;
}

.plan-detail-score {
  width: 100px;
  height: 100px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}

.score-number {
  font-size: 36px;
  font-weight: 700;
}

.score-label {
  font-size: 12px;
  opacity: 0.9;
  margin-top: 4px;
}

/* 选项卡 */
.plan-detail-tabs {
  display: flex;
  gap: 32px;
  margin-bottom: 20px;
  border-bottom: 1px solid #f0f0f0;
}

.plan-tab {
  padding: 12px 0;
  font-size: 14px;
  color: #666;
  cursor: pointer;
  position: relative;
  transition: all 0.3s;
  font-weight: 400;
}

.plan-tab:hover {
  color: #1890ff;
}

.plan-tab.active {
  color: #1890ff;
  font-weight: 500;
}

.plan-tab.active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #1890ff;
  border-radius: 2px 2px 0 0;
}

/* 线索/客户列表 */
.plan-leads-section,
.plan-customers-section {
  margin-bottom: 20px;
}

.plan-leads-section .ant-collapse,
.plan-customers-section .ant-collapse {
  background-color: #fafafa;
  border-radius: 8px;
}

.plan-leads-section .ant-collapse-header,
.plan-customers-section .ant-collapse-header {
  background-color: #fafafa !important;
  border-radius: 8px !important;
  font-weight: 500 !important;
}

.lead-item,
.customer-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.2s;
}

.lead-item:last-child,
.customer-item:last-child {
  border-bottom: none;
}

.lead-item:hover,
.customer-item:hover {
  background-color: #f5f5f5;
}

.lead-item a,
.customer-item a {
  color: #1890ff;
  font-weight: 500;
}

.customer-score {
  display: flex;
  align-items: center;
  gap: 8px;
}

.score-icon {
  color: #faad14;
  font-size: 16px;
}

/* 结果展示 */
.plan-result-section {
  margin-bottom: 20px;
  padding: 20px;
  background-color: #fafafa;
  border-radius: 8px;
  border: 1px solid #f0f0f0;
}

.result-title {
  margin-bottom: 16px;
  font-size: 15px;
  font-weight: 600;
  color: #333;
}

.result-content {
  margin-top: 12px;
}

.result-header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
}

.result-meta {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.result-user {
  font-size: 14px;
  color: #333;
  font-weight: 500;
}

.result-time {
  font-size: 12px;
  color: #999;
}

.result-text {
  margin-bottom: 0;
  white-space: pre-wrap;
  color: #333;
  line-height: 1.6;
}

/* 动态 */
.plan-activities-section {
  margin-bottom: 20px;
}

.activities-title {
  margin-bottom: 16px;
  color: #333;
  font-size: 15px;
  font-weight: 600;
}

.activity-group {
  position: relative;
  padding-left: 24px;
}

.activity-date {
  color: #1890ff;
  /* margin-bottom: 16px; */
  font-size: 13px;
  font-weight: 500;
}

.activity-item {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
  position: relative;
}

.activity-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: #e6f7ff;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1890ff;
  font-size: 14px;
  z-index: 1;
  flex-shrink: 0;
}

.activity-item::before {
  content: '';
  position: absolute;
  left: 15px;
  top: 28px;
  bottom: -16px;
  width: 1px;
  /* background-color: #e8e8e8; */
}

.activity-item:last-child::before {
  display: none;
}

.activity-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.activity-time {
  font-size: 12px;
  color: #999;
}

.activity-text {
  font-size: 14px;
  color: #333;
  line-height: 1.5;
}

.activity-user {
  color: #1890ff;
  font-weight: 500;
}

/* 底部操作栏 */
.plan-detail-footer {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 20px;
  border-top: 1px solid #f0f0f0;
}

.plan-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.plan-interactions {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-left: auto;
}

.plan-interactions .ant-btn {
  color: #666;
  font-size: 13px;
}

.plan-interactions .ant-btn:hover {
  color: #1890ff;
}

/* 写结果弹窗 */
.result-modal .upload-attachment {
  margin-top: 8px;
}

/* 编辑结果弹窗 */
.edit-result-modal .required-label {
  color: #ff4d4f;
  margin-right: 4px;
}

.edit-result-modal .edit-result-textarea {
  font-size: 14px;
  line-height: 1.6;
}

.upload-attachment-section {
  margin-top: 12px;
}

.upload-attachment-btn {
  color: #1890ff;
  font-size: 14px;
}

.attachment-list {
  margin-top: 16px;
  padding: 12px;
  background-color: #fafafa;
  border-radius: 6px;
}

.attachment-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
}

.attachment-icon {
  font-size: 16px;
  color: #1890ff;
}

.attachment-name {
  flex: 1;
  font-size: 13px;
  color: #333;
}

.attachment-size {
  font-size: 12px;
  color: #999;
}

.attachment-remove {
  font-size: 16px;
  color: #999;
  cursor: pointer;
  transition: color 0.2s;
}

.attachment-remove:hover {
  color: #ff4d4f;
}

/* 列表视图 */
.list-view {
  padding: 20px;
}

.list-view-header {
  margin-bottom: 24px;
}

.list-view-header .ant-typography {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  color: #333;
}

.list-view-weekday {
  margin-left: 12px;
  font-size: 16px;
  color: #666;
}

/* 列表分区 */
.list-section {
  margin-bottom: 24px;
}

.list-section-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background-color: #fafafa;
  border-radius: 8px;
  margin-bottom: 12px;
  cursor: pointer;
  transition: all 0.2s;
}

.list-section-header:hover {
  background-color: #f0f0f0;
}

.section-arrow {
  font-size: 12px;
  color: #999;
  transform: rotate(0deg);
  transition: transform 0.2s;
}

.section-arrow.expanded {
  transform: rotate(90deg);
}

.section-title {
  font-size: 14px;
  font-weight: 500;
  color: #666;
}

.section-count {
  font-size: 13px;
  color: #999;
}

/* 计划列表项 */
.plan-list-item {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px 20px;
  background-color: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  margin-bottom: 12px;
  cursor: pointer;
  transition: all 0.2s;
}

.plan-list-item:hover {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  border-color: #1890ff;
}

.plan-list-item-main {
  display: flex;
  align-items: center;
  gap: 12px;
}

.plan-list-item-main .ant-checkbox-wrapper {
  flex-shrink: 0;
}

.priority-tag {
  flex-shrink: 0;
}

.plan-list-title {
  font-size: 15px;
  font-weight: 500;
  color: #333;
  flex: 1;
}

/* 超时状态样式 */
.overtime-text {
  color: #ff4d4f !important;
  font-size: 14px;
  margin-left: 8px;
}

.plan-list-item.overtime {
  background-color: #fff1f0;
}

.plan-list-item.overtime:hover {
  background-color: #ffccc7;
}

/* 【我关注的】页面内容区 */
.follow-tab-content {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 16px;
}

/* 【我关注的】筛选条件面板 */
.follow-filters-panel {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 16px 20px;
  background-color: #fff;
  border-radius: 8px;
  border: 1px solid #e8e8e8;
}

.follow-filter-section {
  width: 100%;
}

.follow-filter-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.filter-title-bar {
  width: 4px;
  height: 16px;
  background-color: #1890ff;
  border-radius: 2px;
}

.filter-title-text {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

.follow-filter-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.follow-filter-item {
  display: flex;
  align-items: center;
  gap: 12px;
}

.follow-filter-label {
  font-size: 13px;
  color: #666;
  white-space: nowrap;
  min-width: 80px;
}

.follow-filter-radio-group {
  display: flex;
  gap: 0;
}

.follow-filter-radio-group .ant-radio-button-wrapper {
  border-radius: 0;
  font-size: 13px;
  padding: 4px 12px;
  height: auto;
}

.follow-filter-radio-group .ant-radio-button-wrapper:first-child {
  border-radius: 4px 0 0 4px;
}

.follow-filter-radio-group .ant-radio-button-wrapper:last-child {
  border-radius: 0 4px 4px 0;
}

.follow-filter-checkbox-group {
  display: flex;
  gap: 16px;
}

.follow-filter-checkbox-group .ant-checkbox-wrapper {
  font-size: 13px;
  color: #333;
}

.follow-filter-actions {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}

.follow-filter-actions .ant-btn {
  min-width: 80px;
}

.follow-time-options .ant-radio-group {
  display: flex;
  gap: 0;
}

.follow-time-options .ant-radio-button-wrapper {
  border-radius: 0;
  font-size: 13px;
  padding: 4px 12px;
}

.follow-time-options .ant-radio-button-wrapper:first-child {
  border-radius: 4px 0 0 4px;
}

.follow-time-options .ant-radio-button-wrapper:last-child {
  border-radius: 0 4px 4px 0;
}

.follow-filter-actions {
  display: flex;
  gap: 8px;
  margin-left: auto;
}

/* 表格视图样式（用于【我关注的】） */
.table-view {
  background: #fff;
  border-radius: 4px;
}

.table-view .ant-table {
  font-size: 14px;
}

.table-view .ant-table-thead > tr > th {
  background: #fafafa;
  font-weight: 500;
  color: #333;
  padding: 12px 16px;
}

.table-view .ant-table-tbody > tr {
  cursor: pointer;
  transition: background-color 0.3s;
}

.table-view .ant-table-tbody > tr:hover {
  background-color: #f5f5f5;
}

.table-view .ant-table-tbody > tr.overtime-row {
  background-color: #fff1f0;
}

.table-view .ant-table-tbody > tr.overtime-row:hover {
  background-color: #ffccc7;
}

.plan-table-cell {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.plan-table-title {
  font-size: 14px;
  color: #333;
  flex: 1;
}

/* 优先级标签 */
.priority-tag {
  flex-shrink: 0;
  font-size: 12px;
  padding: 2px 8px;
}

.plan-list-item-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  padding-top: 8px;
  border-top: 1px solid #f0f0f0;
}

.plan-creator-info,
.plan-time-info,
.plan-type-info {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #666;
}

.creator-icon,
.time-icon {
  font-size: 14px;
  color: #999;
}

/* 客户评分弹窗 */
.customer-score-modal .customer-score-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 20px 0;
}

.customer-name {
  font-size: 16px;
  font-weight: 500;
  color: #333;
}

.score-input .ant-rate {
  font-size: 24px;
}

/* 响应式 */
@media (max-width: 1200px) {
  .work-plan-sidebar {
    width: 240px;
  }
}

@media (max-width: 992px) {
  .work-plan-header {
    flex-wrap: wrap;
    gap: 12px;
  }

  .work-plan-tabs {
    width: 100%;
    overflow-x: auto;
  }

  .work-plan-filters {
    width: 100%;
  }

  .work-plan-actions {
    width: 100%;
    justify-content: space-between;
  }
}

/* ============================================
   员工选择弹窗样式（复刻 CustomerList）
   ============================================ */
.employee-tree-modal .ant-modal-body {
  padding: 0;
}

.employee-tree-modal-content {
  display: flex;
  height: 500px;
}

/* 左侧部门树 */
.modal-left {
  width: 200px;
  border-right: 1px solid #e8e8e8;
  display: flex;
  flex-direction: column;
}

.modal-left-header {
  padding: 12px 16px;
  border-bottom: 1px solid #e8e8e8;
  background-color: #fafafa;
}

.modal-left-header .tree-node {
  padding: 8px 12px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s;
}

.modal-left-header .tree-node:hover {
  background-color: #e6f7ff;
}

.modal-left-header .tree-node.selected {
  background-color: #e6f7ff;
  color: #1890ff;
}

.tree-content {
  flex: 1;
  overflow-y: auto;
  padding: 8px 0;
}

.tree-item {
  padding-left: 0;
}

.tree-node {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  cursor: pointer;
  transition: all 0.2s;
  border-radius: 4px;
  margin: 2px 8px;
}

.tree-node:hover {
  background-color: #f5f5f5;
}

.tree-node.selected {
  background-color: #e6f7ff;
  color: #1890ff;
}

.tree-expand-icon {
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 4px;
  font-size: 10px;
  color: #999;
  transition: transform 0.2s;
}

.tree-expand-icon.expanded {
  transform: rotate(90deg);
}

.tree-expand-icon.empty {
  visibility: hidden;
}

.tree-node-label {
  font-size: 13px;
  color: #333;
}

.tree-children {
  padding-left: 16px;
}

/* 中间员工列表 */
.modal-middle {
  width: 280px;
  border-right: 1px solid #e8e8e8;
  display: flex;
  flex-direction: column;
}

.modal-middle-header {
  padding: 12px 16px;
  border-bottom: 1px solid #e8e8e8;
  background-color: #fafafa;
}

.employee-list-container {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}

.employee-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s;
  margin-bottom: 4px;
}

.employee-item:hover {
  background-color: #f5f5f5;
}

.employee-item.selected {
  background-color: #e6f7ff;
}

.employee-item-content {
  flex: 1;
  min-width: 0;
}

.employee-item-name {
  font-size: 13px;
  color: #333;
  font-weight: 500;
  margin-bottom: 2px;
}

.employee-item-dept {
  font-size: 12px;
  color: #999;
}

/* 右侧已选择 */
.modal-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 200px;
}

.modal-right-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #e8e8e8;
  background-color: #fafafa;
}

.modal-right-title {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

.modal-search-input {
  margin: 12px;
  width: calc(100% - 24px);
}

.selected-employee-list {
  flex: 1;
  overflow-y: auto;
  padding: 8px 12px;
}

.empty-selected {
  text-align: center;
  color: #999;
  font-size: 13px;
  padding: 40px 0;
}

.selected-employee-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 4px;
  margin-bottom: 4px;
  transition: all 0.2s;
}

.selected-employee-item:hover {
  background-color: #f5f5f5;
}

.selected-employee-name {
  flex: 1;
  font-size: 13px;
  color: #333;
}

.remove-employee-icon {
  font-size: 14px;
  color: #999;
  cursor: pointer;
  transition: color 0.2s;
}

.remove-employee-icon:hover {
  color: #ff4d4f;
}

/* 员工选择器输入框 */
.employee-selector {
  width: 100%;
}

.employee-selector .ant-input {
  cursor: pointer;
}

.employee-selector .ant-input:hover {
  border-color: #1890ff;
}

/* ============================================
   关联业务选择弹窗样式（复刻截图）
   ============================================ */
.related-business-modal .ant-modal-body {
  padding: 0;
}

.related-business-modal-content {
  display: flex;
  height: 500px;
}

/* 左侧导航菜单 */
.related-business-sidebar {
  width: 160px;
  border-right: 1px solid #e8e8e8;
  background-color: #fafafa;
  padding: 12px 0;
}

.sidebar-menu-item {
  display: block;
  padding: 12px 20px;
  font-size: 14px;
  color: #666;
  cursor: pointer;
  transition: all 0.2s;
  border-left: 3px solid transparent;
}

.sidebar-menu-item:hover {
  background-color: #e6f7ff;
  color: #1890ff;
}

.sidebar-menu-item.active {
  background-color: #e6f7ff;
  color: #1890ff;
  border-left-color: #1890ff;
  font-weight: 500;
}

/* 中间列表区域 */
.related-business-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 400px;
}

.related-business-search {
  padding: 12px 16px;
  border-bottom: 1px solid #e8e8e8;
}

.related-business-search .ant-input {
  height: 36px;
}

.related-business-table {
  flex: 1;
  overflow-y: auto;
}

.business-table {
  width: 100%;
  border-collapse: collapse;
}

.business-table thead {
  position: sticky;
  top: 0;
  background-color: #fafafa;
  z-index: 1;
}

.business-table th {
  padding: 12px 16px;
  text-align: left;
  font-size: 13px;
  font-weight: 500;
  color: #333;
  border-bottom: 1px solid #e8e8e8;
}

.business-table td {
  padding: 12px 16px;
  font-size: 13px;
  color: #666;
  border-bottom: 1px solid #f0f0f0;
  transition: all 0.2s;
}

.business-table tbody tr {
  cursor: pointer;
  transition: all 0.2s;
}

.business-table tbody tr:hover {
  background-color: #e6f7ff;
}

.business-table tbody tr.selected {
  background-color: #bae7ff;
}

.business-table .ant-checkbox-wrapper {
  cursor: pointer;
}

.related-business-pagination {
  padding: 12px 16px;
  border-top: 1px solid #e8e8e8;
  display: flex;
  justify-content: flex-end;
}

/* 右侧已选择区域 */
.related-business-side {
  width: 200px;
  border-left: 1px solid #e8e8e8;
  display: flex;
  flex-direction: column;
}

.related-business-side-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #e8e8e8;
  background-color: #fafafa;
}

.side-title {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

.related-business-selected-list {
  flex: 1;
  overflow-y: auto;
  padding: 8px 12px;
}

.selected-business-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 4px;
  margin-bottom: 4px;
  transition: all 0.2s;
}

.selected-business-item:hover {
  background-color: #f5f5f5;
}

.selected-business-name {
  flex: 1;
  font-size: 13px;
  color: #333;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.remove-business-icon {
  font-size: 14px;
  color: #999;
  cursor: pointer;
  transition: color 0.2s;
  flex-shrink: 0;
}

.remove-business-icon:hover {
  color: #ff4d4f;
}

/* 关联业务标签样式 */
.related-business-tags {
  margin-top: 8px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.related-business-group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.related-group-label {
  font-size: 13px;
  color: #999;
  min-width: 40px;
}

/* ============================================
   计划详情右侧面板样式（复刻截图）
   ============================================ */

/* 遮罩层 */
.plan-detail-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.45);
  z-index: 1000;
  display: flex;
  justify-content: flex-end;
}

/* 右侧详情面板 */
.plan-detail-panel {
  width: 600px;
  height: 100vh;
  background-color: #fff;
  box-shadow: -2px 0 8px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  animation: slideInRight 0.3s ease-out;
  position: relative;
}

@keyframes slideInRight {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

/* 左侧关闭按钮 - 左上角向右的箭头 */
.panel-close-btn-wrapper {
  position: absolute;
  left: -40px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
}

.panel-close-btn {
  width: 40px;
  height: 60px;
  background-color: #fff;
  border-radius: 8px 0 0 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1);
  color: #fff;
  font-size: 18px;
  transition: all 0.2s;
}

.panel-close-btn:hover {
  background-color: #f5f5f5;
  color: #333;
}

/* 顶部操作栏 */
.panel-top-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
  background-color: #fafafa;
  flex-shrink: 0;
}

.top-bar-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.bar-divider {
  color: #e8e8e8;
  margin: 0 4px;
}

.time-range {
  color: #999;
  font-size: 13px;
}

.share-btn {
  font-size: 16px;
  color: #999;
}

.share-btn:hover {
  color: #1890ff;
}

/* 可滚动内容区 */
.panel-scroll-content {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

/* 主要内容区 */
.panel-main-content {
  padding: 16px;
  border-bottom: 1px solid #f0f0f0;
}

/* 计划标题和总分卡片行 */
.panel-title-score-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 16px;
}

.panel-title-section {
  flex: 1;
}

/* 计划标题 */
.panel-plan-title {
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #333 !important;
  margin: 0 !important;
  line-height: 1.4;
}

/* 计划总分卡片 */
.panel-score-card {
  width: 100px;
  height: 80px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.25);
  flex-shrink: 0;
  margin-left: 16px;
}

.panel-score-card .score-number {
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
}

.panel-score-card .score-label {
  font-size: 12px;
  opacity: 0.9;
  margin-top: 4px;
  white-space: nowrap;
}

/* 计划元信息 - 类型和创建者 */
.panel-plan-meta {
  margin-bottom: 16px;
}

.meta-row {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.meta-label {
  color: #999;
  font-size: 13px;
}

.meta-divider {
  color: #e8e8e8;
  margin: 0 8px;
}

.creator-info {
  display: flex;
  align-items: center;
  gap: 8px;
}

.creator-info .ant-avatar {
  width: 24px;
  height: 24px;
  font-size: 12px;
}

.creator-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.creator-text .ant-typography {
  color: #666;
  font-size: 13px;
  line-height: 1.4;
}

/* 参与人 */
.panel-participants {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.participant-label {
  color: #999;
  font-size: 13px;
  min-width: 70px;
}

.participant-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.participant-item .ant-avatar {
  width: 24px;
  height: 24px;
  font-size: 12px;
}

/* 知晓人 */
.panel-knowers {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.knower-label {
  color: #999;
  font-size: 13px;
  min-width: 70px;
}

/* 已读 */
.panel-readers {
  display: flex;
  align-items: center;
  gap: 8px;
}

.reader-label {
  color: #999;
  font-size: 13px;
  min-width: 70px;
}

/* 选项卡 */
.panel-tabs {
  display: flex;
  gap: 32px;
  padding: 0 16px;
  border-bottom: 1px solid #f0f0f0;
  flex-shrink: 0;
}

.panel-tab {
  padding: 12px 0;
  font-size: 14px;
  color: #666;
  cursor: pointer;
  position: relative;
  transition: all 0.3s;
  font-weight: 400;
}

.panel-tab:hover {
  color: #1890ff;
}

.panel-tab.active {
  color: #1890ff;
  font-weight: 500;
}

.panel-tab.active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #1890ff;
  border-radius: 2px 2px 0 0;
}

/* 业务区域（线索/客户） */
.panel-business-section {
  padding: 16px;
  border-bottom: 1px solid #f0f0f0;
}

.business-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  cursor: pointer;
}

.header-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.business-section-title {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

.section-arrow {
  font-size: 12px;
  color: #999;
  transition: transform 0.2s;
}

.section-arrow.expanded {
  transform: rotate(90deg);
}

.business-tag {
  font-size: 12px;
  padding: 2px 8px;
}

.business-section-content {
  padding-left: 8px;
}

.customer-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  background-color: #fafafa;
  border-radius: 6px;
  margin-bottom: 8px;
}

.customer-name {
  font-size: 14px;
  color: #333;
}

.lead-link {
  color: #1890ff;
  font-size: 14px;
  text-decoration: none;
}

.lead-link:hover {
  text-decoration: underline;
}

.empty-text {
  color: #999;
  font-size: 14px;
  padding: 8px 0;
}

.customer-item:hover {
  background-color: #f0f5ff;
}

/* 结果区域 */
.panel-result-section {
  padding: 16px;
  border-bottom: 1px solid #f0f0f0;
}

.result-section-title {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #333 !important;
  margin-bottom: 12px !important;
}

.result-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.result-item {
  padding: 12px;
  background-color: #fafafa;
  border-radius: 8px;
  transition: all 0.2s;
}

.result-item:hover {
  background-color: #f5f5f5;
}

.result-item-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}

.result-user-info {
  display: flex;
  align-items: center;
  gap: 8px;
}

.result-user-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.result-user-name {
  font-size: 14px;
  color: #333;
  font-weight: 500;
}

.result-time {
  font-size: 12px;
  color: #999;
}

.edit-result-btn {
  color: #999;
  font-size: 14px;
}

.edit-result-btn:hover {
  color: #1890ff;
}

.result-item-content {
  font-size: 14px;
  color: #333;
  line-height: 1.6;
  padding-left: 40px;
}

/* 动态区域 */
.panel-activities-section {
  padding: 16px;
  flex-shrink: 0;
}

.activities-section-title {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #333 !important;
  margin-bottom: 16px !important;
}

.activities-group {
  margin-bottom: 16px;
}

.activities-date {
  font-size: 14px !important;
  color: #1890ff !important;
  margin-bottom: 12px !important;
}

.activities-timeline {
  position: relative;
  padding-left: 20px;
}

.timeline-item {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
  position: relative;
}

.timeline-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: #e6f7ff;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1890ff;
  font-size: 14px;
  flex-shrink: 0;
}

.timeline-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.timeline-time {
  font-size: 12px;
  color: #999;
}

.timeline-text {
  font-size: 14px;
  color: #333;
  line-height: 1.5;
}

.timeline-user {
  color: #1890ff;
  font-weight: 500;
}

.timeline-plan {
  color: #1890ff;
}

.timeline-comment-content {
  font-size: 14px;
  color: #333;
  background-color: #fff;
  padding: 8px 12px;
  border-radius: 4px;
  margin-top: 4px;
  display: inline-block;
}

.timeline-actions {
  display: flex;
  gap: 4px;
  opacity: 0;
  transition: opacity 0.2s;
}

.timeline-item:hover .timeline-actions {
  opacity: 1;
}

.timeline-actions .ant-btn {
  color: #999;
  font-size: 14px;
}

.timeline-actions .ant-btn:hover {
  color: #1890ff;
}

/* 底部固定操作栏 */
.panel-footer-fixed {
  padding: 16px;
  border-top: 1px solid #f0f0f0;
  background-color: #fff;
  flex-shrink: 0;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.05);
}

.comment-input {
  margin-bottom: 12px;
}

.panel-footer-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.complete-btn {
  background-color: #52c41a;
  border-color: #52c41a;
  color: #fff;
}

.complete-btn:hover {
  background-color: #73d13d;
  border-color: #73d13d;
}

.cancel-complete-btn {
  background-color: #fff;
  border-color: #d9d9d9;
  color: #666;
}

.cancel-complete-btn:hover {
  color: #ff4d4f;
  border-color: #ff4d4f;
}

.write-result-btn {
  background-color: #1890ff;
  border-color: #1890ff;
}

.write-result-btn:hover {
  background-color: #40a9ff;
  border-color: #40a9ff;
}

.edit-btn {
  color: #666;
  border-color: #d9d9d9;
}

.edit-btn:hover {
  color: #1890ff;
  border-color: #1890ff;
}

.panel-interactions {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-left: auto;
}

.panel-interactions .ant-btn {
  color: #666;
  font-size: 13px;
}

.panel-interactions .ant-btn:hover {
  color: #1890ff;
}

/* 计划详情页附件区域 */
.panel-attachment-section {
  margin-top: 16px;
  padding: 12px;
  background-color: #fafafa;
  border-radius: 8px;
}

.attachment-section-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.attachment-icon {
  font-size: 16px;
  color: #1890ff;
}

.attachment-label {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

.attachment-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.attachment-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background-color: #fff;
  border-radius: 6px;
  border: 1px solid #f0f0f0;
  transition: all 0.2s;
}

.attachment-item:hover {
  border-color: #1890ff;
  background-color: #e6f7ff;
}

.attachment-item-icon {
  font-size: 14px;
  color: #1890ff;
}

.attachment-item-name {
  flex: 1;
  font-size: 13px;
  color: #333;
}

/* ================================
   【我关注的】筛选条件样式
   ================================ */

/* 筛选面板容器 */
.follow-filters-panel {
  background: #fff;
  border-radius: 8px;
  padding: 24px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

/* 筛选区块 */
.follow-filter-section {
  width: 100%;
}

/* 筛选标题区域 */
.follow-filter-title {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}

.filter-title-bar {
  display: inline-block;
  width: 3px;
  height: 16px;
  background: #1890ff;
  margin-right: 8px;
  border-radius: 2px;
}

.filter-title-text {
  font-size: 16px;
  font-weight: 500;
  color: #333;
}

/* 筛选表单 */
.follow-filter-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* 筛选项 */
.follow-filter-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

/* 筛选标签 */
.follow-filter-label {
  min-width: 100px;
  font-size: 14px;
  color: #666;
  line-height: 32px;
  text-align: left;
  padding-right: 8px;
}

/* 输入框带按钮样式 */
.follow-input-with-button {
  display: flex;
  align-items: center;
  gap: 8px;
}

.follow-input-with-button .ant-input {
  flex: 1;
  min-width: 200px;
}

.follow-input-with-button .ant-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
}

/* 单选按钮组样式 */
.follow-filter-radio-group {
  display: flex;
  align-items: center;
  gap: 16px;
}

.follow-filter-radio-group .ant-radio-wrapper {
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  color: #333;
  line-height: 32px;
}

/* 复选框组样式 */
.follow-filter-checkbox-group {
  display: flex;
  align-items: center;
  gap: 16px;
}

.follow-filter-checkbox-group .ant-checkbox-wrapper {
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  color: #333;
  line-height: 32px;
}

/* 筛选操作按钮 */
.follow-filter-actions {
  display: flex;
  gap: 12px;
  margin-top: 8px;
  padding-left: 112px;
}

.follow-filter-actions .ant-btn {
  min-width: 80px;
}

/* 部门选择弹窗样式 */
.follow-department-modal .ant-modal-body {
  padding: 0;
}

.follow-department-tree-content {
  padding: 16px;
  max-height: 400px;
  overflow-y: auto;
}

/* 树形组件样式 */
.tree-item {
  margin: 0;
}

.tree-node {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  cursor: pointer;
  border-radius: 4px;
  transition: background 0.2s;
}

.tree-node:hover {
  background: #f5f5f5;
}

.tree-node.selected {
  background: #e6f7ff;
  color: #1890ff;
}

.follow-department-tree-left .tree-node.selected .tree-node-label {
  color: #333;
}

.follow-department-tree-left .tree-node.selected .tree-expand-icon {
  color: #999;
}

.tree-expand-icon {
  display: inline-block;
  width: 16px;
  height: 16px;
  line-height: 16px;
  text-align: center;
  font-size: 10px;
  color: #999;
  margin-right: 4px;
  transition: transform 0.2s;
}

.tree-expand-icon.expanded {
  transform: rotate(90deg);
}

.tree-expand-icon.empty {
  visibility: hidden;
}

.tree-node-label {
  font-size: 14px;
  color: #333;
}

.tree-content {
  margin-left: 16px;
}

.tree-children {
  margin-left: 0;
}

/* 员工选择弹窗样式 */
.employee-tree-modal-content {
  display: flex;
  height: 500px;
}

.modal-left {
  width: 240px;
  border-right: 1px solid #f0f0f0;
  display: flex;
  flex-direction: column;
}

.modal-left-header {
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
  background: #fafafa;
}

.modal-middle {
  width: 300px;
  border-right: 1px solid #f0f0f0;
  display: flex;
  flex-direction: column;
}

.modal-middle-header {
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
  background: #fafafa;
}

.modal-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  background: #fafafa;
}

.modal-right-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
  background: #fff;
}

.modal-right-title {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

.modal-search-input {
  margin: 12px;
  width: calc(100% - 24px);
}

.employee-list-container,
.selected-employee-list {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}

.employee-item {
  display: flex;
  align-items: center;
  padding: 10px 12px;
  cursor: pointer;
  border-radius: 4px;
  transition: background 0.2s;
}

.employee-item:hover {
  background: #f5f5f5;
}

.employee-item.selected {
  background: #e6f7ff;
}

.employee-item-content {
  margin-left: 12px;
  flex: 1;
}

.employee-item-name {
  font-size: 14px;
  color: #333;
  margin-bottom: 4px;
}

.employee-item-dept {
  font-size: 12px;
  color: #999;
}

.selected-employee-item {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  background: #fff;
  border-radius: 4px;
  margin-bottom: 8px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.selected-employee-name {
  flex: 1;
  margin: 0 12px;
  font-size: 14px;
  color: #333;
}

.remove-employee-icon {
  color: #999;
  cursor: pointer;
  transition: color 0.2s;
}

.remove-employee-icon:hover {
  color: #ff4d4f;
}

.empty-selected {
  text-align: center;
  color: #999;
  padding: 40px 0;
  font-size: 14px;
}

/* 关联业务选择弹窗样式 */
.related-business-modal .ant-modal-body {
  padding: 0;
}

.related-business-modal-content {
  display: flex;
  height: 500px;
}

.related-business-sidebar {
  width: 120px;
  border-right: 1px solid #f0f0f0;
  background: #fafafa;
  padding: 16px 0;
}

.sidebar-menu-item {
  padding: 12px 16px;
  cursor: pointer;
  font-size: 14px;
  color: #666;
  transition: all 0.2s;
}

.sidebar-menu-item:hover {
  background: #f0f0f0;
  color: #333;
}

.sidebar-menu-item.active {
  background: #e6f7ff;
  color: #1890ff;
  font-weight: 500;
}

.related-business-main {
  width: 500px;
  display: flex;
  flex-direction: column;
  border-right: 1px solid #f0f0f0;
}

.related-business-search {
  padding: 16px;
  border-bottom: 1px solid #f0f0f0;
}

.related-business-table {
  flex: 1;
  overflow-y: auto;
}

.business-table {
  width: 100%;
  border-collapse: collapse;
}

.business-table th {
  position: sticky;
  top: 0;
  background: #fafafa;
  padding: 12px 16px;
  text-align: left;
  font-size: 14px;
  color: #666;
  font-weight: 500;
  border-bottom: 1px solid #f0f0f0;
  z-index: 1;
}

.business-table td {
  padding: 12px 16px;
  font-size: 14px;
  color: #333;
  border-bottom: 1px solid #f0f0f0;
}

.business-table tbody tr {
  cursor: pointer;
  transition: background 0.2s;
}

.business-table tbody tr:hover {
  background: #f5f5f5;
}

.business-table tbody tr.selected {
  background: #e6f7ff;
}

.related-business-pagination {
  padding: 12px 16px;
  border-top: 1px solid #f0f0f0;
  display: flex;
  justify-content: flex-end;
}

.related-business-side {
  width: 280px;
  background: #fafafa;
  display: flex;
  flex-direction: column;
}

.related-business-side-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
  background: #fff;
}

.related-business-selected-list {
  flex: 1;
  overflow-y: auto;
  padding: 12px;
}

.selected-business-group {
  margin-bottom: 16px;
}

.selected-group-title {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  background: #f0f0f0;
  border-radius: 4px;
  margin-bottom: 8px;
  cursor: pointer;
}

.group-arrow {
  font-size: 10px;
  margin-right: 8px;
  transition: transform 0.2s;
}

.group-arrow.expanded {
  transform: rotate(90deg);
}

.selected-group-items {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.selected-business-item {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.selected-business-name {
  flex: 1;
  margin: 0 12px;
  font-size: 14px;
  color: #333;
}

.remove-business-icon {
  color: #999;
  cursor: pointer;
  transition: color 0.2s;
}

.remove-business-icon:hover {
  color: #ff4d4f;
}

/* 表格视图样式 */
.table-view {
  background: #fff;
  border-radius: 8px;
  padding: 16px;
}

.plan-table-cell {
  display: flex;
  align-items: center;
  gap: 8px;
}

.plan-table-title {
  flex: 1;
  font-size: 14px;
  color: #333;
}

/* 响应式调整 */
@media (max-width: 1400px) {
  .follow-filter-label {
    min-width: 80px;
  }
  
  .follow-filter-actions {
    padding-left: 92px;
  }
}

/* ======================
   【我关注的】部门选择弹窗样式
   ====================== */
.follow-department-modal .follow-department-tree-content {
  display: flex;
  gap: 16px;
  height: 400px;
}

.follow-department-modal .follow-department-tree-left {
  flex: 1;
  border-right: 1px solid #f0f0f0;
  padding-right: 16px;
  overflow-y: auto;
}

.follow-department-modal .follow-department-tree-right {
  width: 240px;
  display: flex;
  flex-direction: column;
}

.follow-department-modal .follow-department-right-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
  background: #fafafa;
}

.follow-department-modal .follow-department-right-title {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

.follow-department-modal .follow-department-selected-list {
  flex: 1;
  overflow-y: auto;
  padding: 12px;
}

.follow-department-modal .follow-department-empty-selected {
  text-align: center;
  color: #999;
  padding: 20px 0;
  font-size: 14px;
}

.follow-department-modal .follow-department-selected-item {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  margin-bottom: 8px;
}

.follow-department-modal .follow-department-selected-name {
  flex: 1;
  margin: 0 12px;
  font-size: 14px;
  color: #333;
}

.follow-department-modal .follow-department-remove-icon {
  color: #999;
  cursor: pointer;
  transition: color 0.2s;
}

.follow-department-modal .follow-department-remove-icon:hover {
  color: #ff4d4f;
}

/* 部门树节点样式（复用员工选择弹窗的树样式） */
.follow-department-modal .tree-node {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  cursor: pointer;
  border-radius: 4px;
  transition: background-color 0.2s;
}

.follow-department-modal .tree-node:hover {
  background-color: #f5f5f5;
}

.follow-department-modal .tree-node.selected {
  background-color: #e6f7ff;
}

.follow-department-modal .tree-node-checkbox {
  margin-right: 8px;
}

.follow-department-modal .tree-node-label {
  flex: 1;
  font-size: 14px;
  color: #333;
}

.follow-department-modal .tree-expand-icon {
  display: inline-block;
  width: 16px;
  height: 16px;
  line-height: 16px;
  text-align: center;
  font-size: 10px;
  color: #999;
  margin-right: 4px;
  transition: transform 0.2s;
}

.follow-department-modal .tree-expand-icon.expanded {
  transform: rotate(90deg);
}

.follow-department-modal .tree-expand-icon.empty {
  visibility: hidden;
}

.follow-department-modal .tree-item {
  margin-left: 20px;
}

.follow-department-modal .tree-children {
  margin-left: 16px;
}

/* 计划统计卡片 */
.plan-stats-container {
  display: flex;
  gap: 24px;
  padding: 16px 20px;
  margin-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
}

.plan-stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.plan-stat-item .stat-label {
  font-size: 13px;
  color: #666;
}

.plan-stat-item .stat-value {
  font-size: 24px;
  font-weight: 600;
  color: #0066ff;
}

.plan-stat-item .stat-uncompleted {
  color: #0066ff;
}

.plan-stat-item .stat-completed {
  color: #0066ff;
}

.plan-stat-item .stat-overdue {
  color: #0066ff;
}

.plan-stat-item .stat-total {
  color: #0066ff;
}

/* 筛选面板样式 */
.work-plan-filters-panel {
  margin-top: 16px;
  padding: 16px;
  background-color: #fff;
  border-radius: 8px;
  border: 1px solid #e8e8e8;
}

.work-plan-filters-panel .filter-item {
  margin-bottom: 16px;
}

.work-plan-filters-panel .filter-item:last-child {
  margin-bottom: 0;
}

.work-plan-filters-panel .filter-label {
  display: block;
  font-size: 13px;
  color: #666;
  margin-bottom: 8px;
}

.work-plan-filters-panel .filter-actions {
  display: flex;
  gap: 8px;
  margin-top: 16px;
}

/* 我关注的筛选面板 */
.follow-filters-panel {
  padding: 16px;
  background-color: #fff;
  border-radius: 8px;
  border: 1px solid #e8e8e8;
}

.follow-filter-section {
  margin-bottom: 16px;
}

.follow-filter-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e8e8e8;
}

.filter-title-bar {
  width: 4px;
  height: 16px;
  background-color: #1890ff;
  border-radius: 2px;
}

.filter-title-text {
  font-size: 14px;
  font-weight: 600;
  color: #333;
}

.follow-filter-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.follow-filter-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.follow-filter-label {
  font-size: 13px;
  color: #666;
  font-weight: 500;
}

.follow-filter-radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.follow-filter-checkbox-group {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.follow-filter-actions {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}

/* 抄送我的和我关注的页面容器 */
.follow-page-container {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  background-color: #f5f5f5;
}

/* 筛选面板容器 */
.filter-section {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.filter-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid #f0f0f0;
}

.filter-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #333;
}

.filter-title-bar {
  width: 4px;
  height: 16px;
  background: linear-gradient(180deg, #667eea 0%, #764ba2 100%);
  border-radius: 2px;
}

.filter-title-text {
  color: #333;
}

.filter-right {
  flex: 1;
}

/* 筛选面板容器 */
.follow-filters-panel {
  background: #fff;
  border-radius: 8px;
  padding: 16px 20px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

/* 筛选区块 */
.follow-filter-section {
  width: 100%;
}

/* 筛选标题 */
.follow-filter-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  font-size: 14px;
  font-weight: 600;
  color: #333;
}

.filter-title-bar {
  width: 4px;
  height: 16px;
  background: linear-gradient(180deg, #667eea 0%, #764ba2 100%);
  border-radius: 2px;
}

.filter-title-text {
  color: #333;
}

/* 筛选表单 */
.follow-filter-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* 线索列表风格的筛选样式 */
.filter-content {
  margin-bottom: 16px;
}

.filter-row {
  display: flex;
  align-items: flex-start;
  margin-bottom: 16px;
  min-height: 32px;
}

.filter-label {
  width: 100px;
  color: #999;
  font-size: 14px;
  line-height: 32px;
  flex-shrink: 0;
}

.filter-value {
  flex: 1;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.filter-value .ant-space {
  display: flex;
  flex-wrap: wrap;
}

/* Radio 和 Checkbox 样式 */
.filter-value .ant-radio-wrapper,
.filter-value .ant-checkbox-wrapper {
  margin-right: 16px;
  color: #666;
}

/* 已选筛选条件 */
.selected-filters {
  display: flex;
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid #f0f0f0;
  margin-top: 8px;
  flex-wrap: wrap;
  gap: 8px;
}

.selected-label {
  color: #999;
  font-size: 14px;
  margin-right: 8px;
}

.selected-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.filter-actions {
  display: flex;
  gap: 8px;
}

.plan-detail-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.45);
  z-index: 1000;
  display: flex;
  justify-content: flex-end;
}

/* 右侧详情面板 */
.plan-detail-panel {
  width: 600px;
  height: 100vh;
  background-color: #fff;
  box-shadow: -2px 0 8px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  animation: slideInRight 0.3s ease-out;
  position: relative;
}

@keyframes slideInRight {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

/* 左侧关闭按钮 - 左上角向右的箭头 */
.panel-close-btn-wrapper {
  position: absolute;
  left: -40px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
}

.panel-close-btn {
  width: 40px;
  height: 60px;
  background-color: #fff;
  border-radius: 8px 0 0 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1);
  color: #fff;
  font-size: 18px;
  transition: all 0.2s;
}

.panel-close-btn:hover {
  background-color: #f5f5f5;
  color: #333;
}

/* 顶部操作栏 */
.panel-top-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
  background-color: #fafafa;
  flex-shrink: 0;
}

.top-bar-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.bar-divider {
  color: #e8e8e8;
  margin: 0 4px;
}

.time-range {
  color: #999;
  font-size: 13px;
}

.share-btn {
  font-size: 16px;
  color: #999;
}

.share-btn:hover {
  color: #1890ff;
}

/* 可滚动内容区 */
.panel-scroll-content {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

/* 主要内容区 */
.panel-main-content {
  padding: 16px;
  border-bottom: 1px solid #f0f0f0;
}

/* 计划标题和总分卡片行 */
.panel-title-score-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 16px;
}

.panel-title-section {
  flex: 1;
}

/* 计划标题 */
.panel-plan-title {
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #333 !important;
  margin: 0 !important;
  line-height: 1.4;
}

/* 编辑计划按钮 */
.edit-plan-btn {
  color: #1890ff !important;
  font-size: 16px !important;
  padding: 4px !important;
  transition: all 0.3s ease !important;
}

.edit-plan-btn:hover {
  color: #40a9ff !important;
  background-color: rgba(24, 144, 255, 0.1) !important;
}

/* 计划总分卡片 */
.panel-score-card {
  width: 100px;
  height: 80px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.25);
  flex-shrink: 0;
  margin-left: 16px;
}

.panel-score-card .score-number {
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
}

.panel-score-card .score-label {
  font-size: 12px;
  opacity: 0.9;
  margin-top: 4px;
  white-space: nowrap;
}

/* 计划元信息 - 类型和创建者 */
.panel-plan-meta {
  margin-bottom: 16px;
}

.meta-row {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.meta-label {
  color: #999;
  font-size: 13px;
}

.meta-divider {
  color: #e8e8e8;
  margin: 0 8px;
}

.creator-info {
  display: flex;
  align-items: center;
  gap: 8px;
}

.creator-info .ant-avatar {
  width: 24px;
  height: 24px;
  font-size: 12px;
}

.creator-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.creator-text .ant-typography {
  color: #666;
  font-size: 13px;
  line-height: 1.4;
}

/* 参与人 */
.panel-participants {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.participant-label {
  color: #999;
  font-size: 13px;
  min-width: 70px;
}

.participant-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.participant-item .ant-avatar {
  width: 24px;
  height: 24px;
  font-size: 12px;
}

/* 知晓人 */
.panel-knowers {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.knower-label {
  color: #999;
  font-size: 13px;
  min-width: 70px;
}

/* 已读 */
.panel-readers {
  display: flex;
  align-items: center;
  gap: 8px;
}

.reader-label {
  color: #999;
  font-size: 13px;
  min-width: 70px;
}

/* 选项卡 */
.panel-tabs {
  display: flex;
  gap: 32px;
  padding: 0 16px;
  border-bottom: 1px solid #f0f0f0;
  flex-shrink: 0;
}

.panel-tab {
  padding: 12px 0;
  font-size: 14px;
  color: #666;
  cursor: pointer;
  position: relative;
  transition: all 0.3s;
  font-weight: 400;
}

.panel-tab:hover {
  color: #1890ff;
}

.panel-tab.active {
  color: #1890ff;
  font-weight: 500;
}

.panel-tab.active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background-color: #1890ff;
  border-radius: 2px 2px 0 0;
}

/* 业务区域（线索/客户） */
.panel-business-section {
  padding: 16px;
  border-bottom: 1px solid #f0f0f0;
}

.business-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  cursor: pointer;
}

.header-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.business-section-title {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

.section-arrow {
  font-size: 12px;
  color: #999;
  transition: transform 0.2s;
}

.section-arrow.expanded {
  transform: rotate(90deg);
}

.business-tag {
  font-size: 12px;
  padding: 2px 8px;
}

.business-section-content {
  padding-left: 8px;
}

.customer-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  background-color: #fafafa;
  border-radius: 6px;
  margin-bottom: 8px;
}

.customer-name {
  font-size: 14px;
  color: #333;
}

.lead-link {
  color: #1890ff;
  font-size: 14px;
  text-decoration: none;
  display: block;
  padding: 8px 12px;
  background-color: #fafafa;
  border-radius: 6px;
  margin-bottom: 8px;
  transition: all 0.2s;
}

.lead-link:hover {
  text-decoration: underline;
  background-color: #f0f5ff;
}

.empty-text {
  color: #999;
  font-size: 14px;
  padding: 8px 0;
}

.customer-item:hover {
  background-color: #f0f5ff;
}

/* 结果区域 */
.panel-result-section {
  padding: 16px;
  border-bottom: 1px solid #f0f0f0;
}

.result-section-title {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #333 !important;
  margin-bottom: 12px !important;
}

.result-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.result-item {
  padding: 12px;
  background-color: #fafafa;
  border-radius: 8px;
  transition: all 0.2s;
}

.result-item:hover {
  background-color: #f5f5f5;
}

.result-item-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}

.result-user-info {
  display: flex;
  align-items: center;
  gap: 8px;
}

.result-user-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.result-user-name {
  font-size: 14px;
  color: #333;
  font-weight: 500;
}

.result-time {
  font-size: 12px;
  color: #999;
}

.edit-result-btn {
  color: #999;
  font-size: 14px;
}

.edit-result-btn:hover {
  color: #1890ff;
}

.result-item-content {
  font-size: 14px;
  color: #333;
  line-height: 1.6;
  padding-left: 40px;
}

/* 动态区域 */
.panel-activities-section {
  padding: 16px;
  flex-shrink: 0;
}

.activities-section-title {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #333 !important;
  margin-bottom: 16px !important;
}

.activities-group {
  margin-bottom: 16px;
}

.activities-date {
  font-size: 14px !important;
  color: #1890ff !important;
  margin-bottom: 12px !important;
}

.activities-timeline {
  position: relative;
  padding-left: 20px;
}

.timeline-item {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
  position: relative;
}

.timeline-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: #e6f7ff;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1890ff;
  font-size: 14px;
  flex-shrink: 0;
}

.timeline-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.timeline-time {
  font-size: 12px;
  color: #999;
}

.timeline-text {
  font-size: 14px;
  color: #333;
  line-height: 1.5;
}

.timeline-user {
  color: #1890ff;
  font-weight: 500;
}

.timeline-plan {
  color: #1890ff;
}

.timeline-comment-content {
  font-size: 14px;
  color: #333;
  background-color: #fff;
  padding: 8px 12px;
  border-radius: 4px;
  margin-top: 4px;
  display: inline-block;
}

.timeline-actions {
  display: flex;
  gap: 4px;
  opacity: 0;
  transition: opacity 0.2s;
}

.timeline-item:hover .timeline-actions {
  opacity: 1;
}

.timeline-actions .ant-btn {
  color: #999;
  font-size: 14px;
}

.timeline-actions .ant-btn:hover {
  color: #1890ff;
}

/* 底部固定操作栏 */
.panel-footer-fixed {
  padding: 16px;
  border-top: 1px solid #f0f0f0;
  background-color: #fff;
  flex-shrink: 0;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.05);
}

.comment-input {
  margin-bottom: 12px;
}

.panel-footer-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.complete-btn {
  background-color: #52c41a;
  border-color: #52c41a;
  color: #fff;
}

.complete-btn:hover {
  background-color: #73d13d;
  border-color: #73d13d;
}

.cancel-complete-btn {
  background-color: #fff;
  border-color: #d9d9d9;
  color: #666;
}

.cancel-complete-btn:hover {
  color: #ff4d4f;
  border-color: #ff4d4f;
}

.write-result-btn {
  background-color: #1890ff;
  border-color: #1890ff;
}

.write-result-btn:hover {
  background-color: #40a9ff;
  border-color: #40a9ff;
}

.edit-btn {
  color: #666;
  border-color: #d9d9d9;
}

.edit-btn:hover {
  color: #1890ff;
  border-color: #1890ff;
}

.panel-interactions {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-left: auto;
}

.panel-interactions .ant-btn {
  color: #666;
  font-size: 13px;
}

.panel-interactions .ant-btn:hover {
  color: #1890ff;
}

/* 计划详情页附件区域 */
.panel-attachment-section {
  margin-top: 16px;
  padding: 12px;
  background-color: #fafafa;
  border-radius: 8px;
}

.attachment-section-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.attachment-icon {
  font-size: 16px;
  color: #1890ff;
}

.attachment-label {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

.attachment-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.attachment-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background-color: #fff;
  border-radius: 6px;
  border: 1px solid #f0f0f0;
  transition: all 0.2s;
}

.attachment-item:hover {
  border-color: #1890ff;
  background-color: #e6f7ff;
}

.attachment-item-icon {
  font-size: 14px;
  color: #1890ff;
}

.attachment-item-name {
  flex: 1;
  font-size: 13px;
  color: #333;
}

/* ================================
   【我关注的】筛选条件样式
   ================================ */

/* 筛选面板容器 */
.follow-filters-panel {
  background: #fff;
  border-radius: 8px;
  padding: 24px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

/* 筛选区块 */
.follow-filter-section {
  width: 100%;
}

/* 筛选标题区域 */
.follow-filter-title {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}

.filter-title-bar {
  display: inline-block;
  width: 3px;
  height: 16px;
  background: #1890ff;
  margin-right: 8px;
  border-radius: 2px;
}

.filter-title-text {
  font-size: 16px;
  font-weight: 500;
  color: #333;
}

/* 筛选表单 */
.follow-filter-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* 关注按钮样式增强 */
.panel-interactions .ant-btn-star-following {
  color: #faad14;
}

.panel-interactions .ant-btn-star-following:hover {
  color: #ffc107;
}

.panel-interactions .ant-btn-star-not-following {
  color: #999;
}

.panel-interactions .ant-btn-star-not-following:hover {
  color: #faad14;
}

/* 客户项带评分按钮 */
.customer-item-with-score {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 0;
}

.customer-item-with-score .lead-link {
  flex: 1;
}

.customer-item-with-score .ant-btn-link {
  padding: 4px 8px;
  margin-left: 8px;
}

/* 评分星星显示 */
.score-stars-display {
  margin-top: 12px;
  text-align: center;
  padding: 12px;
  background: #fafafa;
  border-radius: 8px;
}

/* 结果弹窗样式 */
.result-modal .ant-modal-body {
  padding: 24px;
}

.result-attachment-upload {
  width: 100%;
}

/* 编辑结果弹窗样式 */
.edit-result-modal .ant-modal-body {
  padding: 24px;
}

.edit-result-textarea {
  font-size: 14px;
  line-height: 1.6;
}

/* 客户评分弹窗样式 */
.customer-score-modal .ant-modal-body {
  padding: 24px;
}



.customer-list-page {
  background: #f5f7fa;
  min-height: calc(100vh - 64px);
}

/* 筛选区域 */
.filter-section {
  display: flex;
  background: #fff;
  border-radius: 8px;
  margin-bottom: 16px;
  overflow: hidden;
}

/* 左侧视图和工具 */
.filter-left {
  width: 200px;
  border-right: 1px solid #f0f0f0;
  padding: 16px 0;
  background: #fafafa;
}

.my-views {
  margin-bottom: 16px;
}

.view-title {
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 600;
  color: #333;
}

.view-item {
  padding: 8px 16px 8px 24px;
  cursor: pointer;
  color: #666;
  transition: all 0.2s;
}

.view-item:hover {
  background: #e6f4ff;
  color: #1890ff;
}

.view-item.active {
  background: #e6f4ff;
  color: #1890ff;
}

/* 客户等级筛选 */
.customer-level-filter {
  margin-bottom: 16px;
}

.common-tools {
  margin-top: 8px;
}

.tools-title {
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 600;
  color: #333;
}

.tool-item {
  padding: 8px 16px 8px 24px;
  cursor: pointer;
  color: #666;
  transition: all 0.2s;
}

.tool-item:hover {
  background: #e6f4ff;
  color: #1890ff;
}

/* 右侧筛选条件 */
.filter-right {
  flex: 1;
  padding: 16px;
}

.filter-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.filter-title {
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 600;
  color: #333;
}

.filter-title-bar {
  width: 3px;
  height: 18px;
  background: #1890ff;
  margin-right: 8px;
  border-radius: 2px;
}

.expand-btn {
  color: #1890ff;
}

/* 筛选内容 */
.filter-content {
  margin-bottom: 16px;
}

.filter-row {
  display: flex;
  align-items: flex-start;
  margin-bottom: 16px;
  min-height: 32px;
}

.filter-label {
  width: 100px;
  color: #999;
  font-size: 14px;
  line-height: 32px;
  flex-shrink: 0;
}

.filter-value {
  flex: 1;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.filter-value .ant-space {
  display: flex;
  flex-wrap: wrap;
}

/* 按钮样式 */
.filter-value .ant-btn-link {
  color: #666;
  padding: 4px 8px;
}

.filter-value .ant-btn-link.active,
.filter-value .ant-btn-link:hover {
  color: #1890ff;
}

/* 输入框样式 */
.employee-input,
.tag-input {
  width: 300px;
}

.employee-input .ant-input,
.tag-input .ant-input {
  border-radius: 4px 0 0 4px;
}

.employee-input .ant-btn,
.tag-input .ant-btn {
  border-radius: 0 4px 4px 0;
  height: 32px;
}

/* Radio 和 Checkbox 样式 */
.filter-value .ant-radio-wrapper,
.filter-value .ant-checkbox-wrapper {
  margin-right: 16px;
  color: #666;
}

.filter-row .ant-radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.filter-row .ant-radio-wrapper {
  margin-right: 0;
}

/* 已选筛选条件 */
.selected-filters {
  display: flex;
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid #f0f0f0;
  gap: 8px;
}

.selected-label {
  color: #999;
  font-size: 14px;
}

.selected-tags {
  display: flex;
  gap: 8px;
}

.selected-tags .ant-tag {
  margin: 0;
  padding: 2px 8px;
  font-size: 13px;
}

.clear-btn {
  color: #1890ff;
  padding: 4px 8px;
  margin-left: 8px;
}

/* 操作栏 */
.action-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  padding: 16px;
  border-radius: 8px;
  margin-bottom: 16px;
}

.action-left {
  display: flex;
  gap: 8px;
}

.action-right {
  display: flex;
  gap: 8px;
  align-items: center;
}

.search-type-select {
  width: 150px;
}

.search-type-select .ant-select-selector {
  border-radius: 4px 0 0 4px;
}

.search-input {
  width: 250px;
}

.search-input .ant-input {
  border-radius: 0 4px 4px 0;
}

/* 表格容器 */
.table-wrapper {
  background: #fff;
  border-radius: 8px;
  padding: 16px;
}

.table-wrapper .ant-table {
  font-size: 14px;
}

.table-wrapper .ant-table-thead > tr > th {
  background: #fafafa;
  font-weight: 600;
}

.table-wrapper .ant-table-tbody > tr:hover > td {
  background: #e6f4ff;
}

/* 表格固定列样式 */
.table-wrapper .ant-table-fixed-left,
.table-wrapper .ant-table-fixed-right {
  background: #fff;
}

.table-wrapper .ant-table-thead > tr > th.ant-table-cell-fix-left,
.table-wrapper .ant-table-thead > tr > th.ant-table-cell-fix-right {
  background: #fafafa;
}

.table-wrapper .ant-table-tbody > tr:hover > td.ant-table-cell-fix-left,
.table-wrapper .ant-table-tbody > tr:hover > td.ant-table-cell-fix-right {
  background: #e6f4ff;
}

/* 批量操作工具栏 */
.batch-action-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  background: #e6f4ff;
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 16px;
  border: 1px solid #91d5ff;
}

.batch-action-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.batch-action-count {
  font-size: 14px;
  color: #1890ff;
  font-weight: 500;
  margin-right: 8px;
}

.batch-action-right {
  display: flex;
  gap: 8px;
}

/* 员工树形选择弹窗 */
.employee-tree-modal .ant-modal-body {
  padding: 0;
}

.employee-tree-modal-content {
  display: flex;
  height: 600px;
}

/* 左侧部门树 */
.modal-left {
  width: 250px;
  border-right: 1px solid #f0f0f0;
  display: flex;
  flex-direction: column;
}

.modal-left-header {
  padding: 8px 12px;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
}

.tree-content {
  flex: 1;
  overflow-y: auto;
  padding: 8px 0;
}

.tree-item {
  position: relative;
}

.tree-node {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  cursor: pointer;
  transition: all 0.2s;
  color: #333;
}

.tree-node:hover {
  background: #e6f4ff;
}

.tree-node.selected {
  background: #1890ff;
  color: #fff;
}

.tree-node.selected .tree-node-label {
  color: #fff;
}

.tree-expand-icon {
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 4px;
  font-size: 10px;
  color: #999;
  transition: transform 0.2s;
  cursor: pointer;
}

.tree-node.selected .tree-expand-icon {
  color: #fff;
}

.tree-expand-icon.expanded {
  transform: rotate(90deg);
}

.tree-expand-icon.empty {
  visibility: hidden;
}

.tree-node-label {
  flex: 1;
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tree-children {
  padding-left: 16px;
}

/* 中间员工列表 */
.modal-middle {
  width: 300px;
  border-right: 1px solid #f0f0f0;
  display: flex;
  flex-direction: column;
}

.modal-middle-header {
  padding: 12px 16px;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
  font-weight: 500;
}

.employee-list-container {
  flex: 1;
  overflow-y: auto;
}

.employee-item {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  cursor: pointer;
  border-bottom: 1px solid #f5f5f5;
  transition: all 0.2s;
}

.employee-item:hover {
  background: #f5f5f5;
}

.employee-item.selected {
  background: #e6f4ff;
}

.employee-item .ant-checkbox-wrapper {
  margin-right: 8px;
}

.employee-item-content {
  flex: 1;
  min-width: 0;
}

.employee-item-name {
  font-size: 14px;
  color: #333;
  margin-bottom: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.employee-item-dept {
  font-size: 12px;
  color: #999;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 右侧已选择 */
.modal-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  background: #fafafa;
}

.modal-right-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: #fff;
  border-bottom: 1px solid #f0f0f0;
}

.modal-right-title {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

.modal-close-icon {
  cursor: pointer;
  color: #999;
  font-size: 16px;
  transition: color 0.2s;
}

.modal-close-icon:hover {
  color: #333;
}

.modal-right .modal-search-input {
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
}

.selected-employee-list {
  flex: 1;
  overflow-y: auto;
  padding: 12px 16px;
}

.selected-employee-item {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  background: #fff;
  border-radius: 4px;
  margin-bottom: 8px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  transition: all 0.2s;
}

.selected-employee-item:hover {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.selected-employee-name {
  flex: 1;
  margin-left: 8px;
  font-size: 14px;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.remove-employee-icon {
  color: #999;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s;
  padding: 4px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.remove-employee-icon:hover {
  color: #ff4d4f;
  background: #fff1f0;
}

.empty-selected {
  text-align: center;
  color: #999;
  padding: 20px;
  font-size: 14px;
}

/* 滚动条样式 */
.tree-content::-webkit-scrollbar,
.employee-list-container::-webkit-scrollbar,
.selected-employee-list::-webkit-scrollbar {
  width: 6px;
}

.tree-content::-webkit-scrollbar-track,
.employee-list-container::-webkit-scrollbar-track,
.selected-employee-list::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}

.tree-content::-webkit-scrollbar-thumb,
.employee-list-container::-webkit-scrollbar-thumb,
.selected-employee-list::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}

.tree-content::-webkit-scrollbar-thumb:hover,
.employee-list-container::-webkit-scrollbar-thumb:hover,
.selected-employee-list::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* 响应式 */
@media (max-width: 1400px) {
  .filter-left {
    width: 160px;
  }
  
  .employee-input,
  .tag-input {
    width: 250px;
  }
}.customer-detail-page {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.customer-detail-drawer .ant-drawer-body {
  padding: 0;
  height: 100%;
  overflow: hidden;
}

.customer-detail-drawer .ant-drawer-header {
  padding: 16px 24px;
  border-bottom: 1px solid #f0f0f0;
}

.customer-detail-drawer .ant-drawer-title {
  font-size: 16px;
  font-weight: 600;
}

/* 详情页面包装器 */
.detail-page-wrapper {
  height: calc(100vh - 120px);
  overflow-y: auto;
  background: #f5f7fa;
}

/* 主内容区 */
.detail-main-content {
  /* padding: 16px; */
}

/* 线索/客户信息卡片 */
.lead-info-card {
  background: #fff;
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 16px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.lead-info-left {
  flex: 1;
}

.lead-title-section {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}

.star-icon {
  font-size: 20px;
  color: #999;
  cursor: pointer;
  transition: all 0.2s;
}

.star-icon:hover {
  color: #faad14;
}

.star-icon.starred {
  color: #faad14;
}

.lead-title {
  font-size: 20px;
  font-weight: 600;
  color: #333;
  margin: 0;
}

.add-tag-btn {
  border-color: #d9d9d9;
}

.lead-info-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.info-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.info-label {
  font-size: 13px;
  color: #999;
}

.info-value {
  font-size: 14px;
  color: #333;
  font-weight: 500;
}

.status-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 6px;
}

.associate-btn {
  font-size: 12px;
  padding: 2px 8px;
}

/* 操作按钮 */
.action-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
  background: #fff;
  padding: 16px 0;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.action-buttons .ant-btn {
  border-radius: 4px;
}

/* 内容包装器 */
.detail-content-wrapper {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 16px;
}

/* 信息概况区域 */
.info-overview-section {
  background: #fff;
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.info-tabs .ant-tabs-nav {
  margin-bottom: 16px;
}

.info-tabs .ant-tabs-tab {
  font-size: 14px;
}

.info-section {
  /* padding: 8px 0; */
}

.info-section-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #333;
  margin-bottom: 16px;
  padding-left: 8px;
  border-left: 3px solid #1890ff;
}

.section-icon {
  color: #1890ff;
}

.info-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.info-item.full-width {
  grid-column: 1 / -1;
}

/* 活动记录区域 */
.activity-section {
  background: #fff;
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  height: fit-content;
}

.activity-tabs .ant-tabs-nav {
  margin-bottom: 16px;
}

.activity-tabs .ant-tabs-tab {
  font-size: 14px;
}

.activity-list {
  max-height: 600px;
  overflow-y: auto;
}

.activity-item {
  padding: 12px 0;
  border-bottom: 1px solid #f0f0f0;
}

.activity-item:last-child {
  border-bottom: none;
}

.activity-time {
  font-size: 12px;
  color: #999;
}

.activity-content {
  font-size: 14px;
  color: #333;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.activity-operator {
  font-weight: 500;
  color: #1890ff;
  font-size: 14px;
}

.activity-text {
  line-height: 1.5;
}

.activity-sub {
  font-size: 12px;
  color: #999;
}

.empty-activity {
  text-align: center;
  color: #999;
  padding: 40px 0;
}

/* 标签弹窗 */
.tag-modal .ant-modal-body {
  padding: 16px;
}

.tag-group {
  margin-bottom: 16px;
}

.tag-group:last-child {
  margin-bottom: 0;
}

.tag-group-title {
  font-size: 14px;
  color: #666;
  margin-bottom: 12px;
  padding-left: 4px;
  border-left: 2px solid #1890ff;
}

.tag-options {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.tag-option {
  min-width: 80px;
  border-radius: 6px;
  border: 1px solid #d9d9d9;
  background: #fafafa;
  color: #666;
  transition: all 0.2s;
}

.tag-option:hover {
  border-color: #1890ff;
  color: #1890ff;
  background: #e6f4ff;
}

.tag-option.selected {
  border-color: #1890ff;
  background: #1890ff;
  color: #fff;
}

/* 写跟进弹窗 */
.follow-modal-content {
  padding: 8px 0;
}

.follow-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f0f0f0;
}

.follow-toolbar .ant-btn {
  border: none;
  background: transparent;
  color: #666;
}

.follow-toolbar .ant-btn:hover {
  background: #f5f5f5;
  color: #1890ff;
}

.follow-input {
  resize: none;
}

.follow-options {
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.follow-option-item {
  display: flex;
  align-items: center;
  gap: 12px;
}

.option-label {
  font-size: 14px;
  color: #666;
  min-width: 100px;
}

/* 放弃弹窗 */
.give-up-modal-content {
  padding: 8px 0;
}

.give-up-option-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* 转移弹窗 */
.transfer-modal .ant-modal-body {
  padding: 16px;
}

.transfer-modal-content {
  padding: 8px 0;
}

.transfer-info {
  margin-bottom: 16px;
}

.transfer-count {
  font-size: 14px;
  color: #666;
  background: #e6f4ff;
  padding: 8px 12px;
  border-radius: 4px;
}

.transfer-form {
  margin-bottom: 16px;
}

.transfer-label {
  font-size: 14px;
  color: #333;
  margin-bottom: 8px;
  font-weight: 500;
}

/* 选择负责人弹窗 */
.owner-modal .ant-modal-body {
  padding: 0;
}

.owner-modal-content {
  max-height: 500px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.owner-search {
  padding: 16px;
  border-bottom: 1px solid #f0f0f0;
}

.owner-list {
  flex: 1;
  overflow-y: auto;
  padding: 8px 0;
}

.owner-item {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  cursor: pointer;
  transition: all 0.2s;
}

.owner-item:hover {
  background: #f5f5f5;
}

.owner-item.selected {
  background: #e6f4ff;
}

.owner-item-content {
  flex: 1;
  margin-left: 12px;
}

.owner-item-name {
  font-weight: 500;
  color: #333;
  margin-bottom: 2px;
}

.owner-item-dept {
  font-size: 12px;
  color: #999;
}

.owner-check-icon {
  color: #1890ff;
  font-size: 18px;
}

/* 加载状态 */
.loading-container {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 200px;
  color: #999;
}

/* 滚动条样式 */
.activity-list::-webkit-scrollbar,
.owner-list::-webkit-scrollbar {
  width: 6px;
}

.activity-list::-webkit-scrollbar-track,
.owner-list::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}

.activity-list::-webkit-scrollbar-thumb,
.owner-list::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}

.activity-list::-webkit-scrollbar-thumb:hover,
.owner-list::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* 响应式 */
@media (max-width: 1200px) {
  .detail-content-wrapper {
    grid-template-columns: 1fr;
  }
  
  .activity-section {
    margin-top: 16px;
  }
  
  .lead-info-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  .lead-info-grid {
    grid-template-columns: 1fr;
  }
  
  .action-buttons {
    justify-content: center;
  }
  
  .info-grid {
    grid-template-columns: 1fr;
  }
}

/* 联系人列表区域 */
.contact-list-section {
  /* margin-top: 24px; */
  /* padding-top: 24px; */
  border-top: 1px solid #f0f0f0;
}

.contact-list-section .section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.contact-list-section .section-title {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #333;
  display: flex;
  align-items: center;
  gap: 8px;
}

.contact-list-section .section-title .section-icon {
  font-size: 18px;
  color: #1890ff;
}

.contact-list-section .ant-table-wrapper {
  background: #fff;
  border-radius: 4px;
}

.contact-list-section .ant-table-thead > tr > th {
  background: #fafafa;
  font-weight: 600;
}

.contact-list-section .ant-table-tbody > tr:hover {
  background: #f5f5f5;
}

.contact-list-section .ant-table-tbody > tr > td {
  padding: 12px 8px;
}.customer-create-page {
  min-height: 100vh;
  background: #f5f7fa;
}

.customer-create-content {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.customer-create-form-wrapper {
  flex: 1;
  padding: 16px;
  overflow-y: auto;
}

.form-section-title{
  font-size: 20px;
  padding: 10px 0;
}

.customer-create-header {
  margin-bottom: 16px;
}

.customer-create-title {
  font-size: 20px;
  font-weight: 600;
  color: #333;
  margin: 0;
}

.customer-create-form {
  background: #fff;
  border-radius: 8px;
  padding: 24px;
  margin-bottom: 16px;
}

.form-row {
  display: flex;
  gap: 16px;
  margin-bottom: 16px;
}

.form-row:last-child {
  margin-bottom: 0;
}

.form-col {
  flex: 1;
  min-width: 0;
}

.form-col:first-child:last-child {
  flex: none;
  width: 100%;
}

/* 表单标签样式 */
.customer-create-form .ant-form-item-label > label {
  font-size: 14px;
  color: #333;
}

.required-label {
  color: #333;
}

.required {
  color: #ff4d4f;
  margin-right: 4px;
}

/* 输入框样式 */
.customer-create-form .ant-input,
.customer-create-form .ant-select-selector,
.customer-create-form .ant-input-textarea {
  border-radius: 4px;
  font-size: 14px;
}

.customer-create-form .ant-input:hover,
.customer-create-form .ant-select-selector:hover {
  border-color: #1890ff;
}

.customer-create-form .ant-input-focused,
.customer-create-form .ant-select-focused .ant-select-selector {
  border-color: #1890ff;
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1);
}

/* 带按钮的输入框 */
.customer-create-form .ant-input-group-addon {
  padding: 0;
  border: none;
  background: transparent;
}

.customer-create-form .ant-input-group-addon .ant-btn {
  border-radius: 0 4px 4px 0;
  height: 32px;
  padding: 0 12px;
}

/* Radio 样式 */
.customer-create-form .ant-radio-wrapper {
  margin-right: 16px;
  font-size: 14px;
}

/* 分割线样式 */
.customer-create-form .ant-divider {
  margin: 24px 0;
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

.customer-create-form .ant-divider-inner-text {
  background: #fff;
  padding: 0 12px;
  color: #666;
}

/* 底部固定按钮 */
.customer-create-footer {
  position: sticky;
  bottom: 0;
  background: #fff;
  padding: 12px 16px;
  border-top: 1px solid #f0f0f0;
  display: flex;
  justify-content: center;
  gap: 16px;
  z-index: 10;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.05);
}

.customer-create-footer .ant-btn {
  min-width: 100px;
  border-radius: 4px;
}

/* 负责人选择弹窗 - 简化版 */
.simple-employee-modal .ant-modal-body {
  padding: 0;
}

.simple-content {
  display: flex;
  height: 400px;
  border: 1px solid #f0f0f0;
}

.simple-content .modal-column {
  flex: 1;
  border-right: 1px solid #f0f0f0;
}

.simple-content .modal-column:last-child {
  border-right: none;
}

.simple-content .dept-column {
  min-width: 180px;
  max-width: 180px;
}

.simple-content .employee-column {
  min-width: 250px;
}

/* 复用员工选择弹窗样式 */
.column-header {
  padding: 12px;
  border-bottom: 1px solid #f0f0f0;
  background: #fafafa;
}

.column-search {
  width: 100%;
}

.column-search .ant-input {
  background: #fff;
  border-color: #d9d9d9;
}

.column-body {
  flex: 1;
  overflow-y: auto;
  padding: 8px 0;
}

.dept-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 14px;
}

.dept-item:hover {
  background: #f5f5f5;
}

.dept-item.active {
  background: #e6f4ff;
  color: #1890ff;
}

.dept-name {
  flex: 1;
}

.dept-count {
  font-size: 12px;
  color: #999;
  margin-left: 8px;
}

.dept-tree-item {
  margin-bottom: 4px;
}

.dept-tree-header {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.2s;
}

.dept-tree-header:hover {
  background: #f5f5f5;
}

.dept-tree-arrow {
  font-size: 10px;
  color: #999;
  margin-right: 6px;
  transition: transform 0.2s;
  display: inline-block;
}

.dept-tree-header.expanded .dept-tree-arrow {
  transform: rotate(90deg);
}

.dept-tree-name {
  flex: 1;
}

.dept-tree-children {
  padding-left: 20px;
}

.employee-scroll-list {
  padding: 0 8px;
}

.employee-item {
  display: flex;
  align-items: flex-start;
  padding: 10px 8px;
  cursor: pointer;
  border-radius: 4px;
  transition: all 0.2s;
  margin-bottom: 4px;
  position: relative;
}

.employee-item:hover {
  background: #f5f5f5;
}

.employee-item.selected {
  background: #e6f4ff;
}

.employee-item .ant-checkbox-wrapper {
  margin-right: 8px;
  margin-top: 4px;
  flex-shrink: 0;
}

.employee-detail {
  flex: 1;
  min-width: 0;
}

.employee-name-role {
  font-size: 14px;
  color: #333;
  margin-bottom: 4px;
}

.employee-name {
  font-weight: 500;
}

.employee-role {
  color: #666;
  font-weight: normal;
}

.employee-dept {
  font-size: 12px;
  color: #999;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.employee-item-check {
  color: #1890ff;
  font-size: 16px;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
}

/* 滚动条样式 */
.column-body::-webkit-scrollbar {
  width: 6px;
}

.column-body::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.column-body::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}

.column-body::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* 响应式 */
@media (max-width: 768px) {
  .form-row {
    flex-direction: column;
  }
  
  .simple-content {
    flex-direction: column;
    height: 500px;
  }
  
  .simple-content .dept-column {
    max-width: none;
    border-bottom: 1px solid #f0f0f0;
  }
  
  .simple-content .modal-column {
    border-right: none;
  }
}

.contact-list-page {
  background: #f5f7fa;
  min-height: calc(100vh - 64px);
}

/* 筛选区域 */
.filter-section {
  display: flex;
  background: #fff;
  border-radius: 8px;
  margin-bottom: 16px;
  overflow: hidden;
}

/* 左侧视图和工具 */
.filter-left {
  width: 200px;
  border-right: 1px solid #f0f0f0;
  padding: 16px 0;
  background: #fafafa;
}

.my-views {
  margin-bottom: 16px;
}

.view-title {
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 600;
  color: #333;
}

.view-item {
  padding: 8px 16px 8px 24px;
  cursor: pointer;
  color: #666;
  transition: all 0.2s;
}

.view-item:hover {
  background: #e6f4ff;
  color: #1890ff;
}

.view-item.active {
  background: #e6f4ff;
  color: #1890ff;
}

.common-tools {
  margin-top: 8px;
}

.tools-title {
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 600;
  color: #333;
}

.tool-item {
  padding: 8px 16px 8px 24px;
  cursor: pointer;
  color: #666;
  transition: all 0.2s;
}

.tool-item:hover {
  background: #e6f4ff;
  color: #1890ff;
}

/* 右侧筛选条件 */
.filter-right {
  flex: 1;
  padding: 16px;
}

.filter-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.filter-title {
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 600;
  color: #333;
}

.filter-title-bar {
  width: 3px;
  height: 18px;
  background: #1890ff;
  margin-right: 8px;
  border-radius: 2px;
}

.expand-btn {
  color: #1890ff;
}

/* 筛选内容 */
.filter-content {
  margin-bottom: 16px;
}
.ant-list-item{
  border: none !important;
}
.filter-row {
  display: flex;
  align-items: flex-start;
  margin-bottom: 16px;
  min-height: 32px;
}

.filter-label {
  width: 100px;
  color: #999;
  font-size: 14px;
  line-height: 32px;
  flex-shrink: 0;
}

.filter-value {
  flex: 1;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.filter-value .ant-space {
  display: flex;
  flex-wrap: wrap;
}

/* 按钮样式 */
.filter-value .ant-btn-link {
  color: #666;
  padding: 4px 8px;
}

.filter-value .ant-btn-link.active,
.filter-value .ant-btn-link:hover {
  color: #1890ff;
}

/* 输入框样式 */
.employee-input,
.tag-input {
  width: 300px;
}

.employee-input .ant-input,
.tag-input .ant-input {
  border-radius: 4px 0 0 4px;
}

.employee-input .ant-btn,
.tag-input .ant-btn {
  border-radius: 0 4px 4px 0;
  height: 32px;
}

/* Radio 和 Checkbox 样式 */
.filter-value .ant-radio-wrapper,
.filter-value .ant-checkbox-wrapper {
  margin-right: 16px;
  color: #666;
}

.filter-row .ant-radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.filter-row .ant-radio-wrapper {
  margin-right: 0;
}

/* 已选筛选条件 */
.selected-filters {
  display: flex;
  align-items: center;
  padding-top: 12px;
  border-top: 1px solid #f0f0f0;
  gap: 8px;
  flex-wrap: wrap;
  min-height: 32px;
}

.selected-label {
  color: #999;
  font-size: 14px;
}

.selected-tags {
  display: flex;
  gap: 8px;
}

.selected-tags .ant-tag {
  margin: 0;
  padding: 2px 8px;
  font-size: 13px;
}

.clear-btn {
  color: #1890ff;
  padding: 4px 8px;
  margin-left: 8px;
}

/* 操作栏 */
.action-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  padding: 16px;
  border-radius: 8px;
  margin-bottom: 16px;
}

.action-left {
  display: flex;
  gap: 8px;
}

.action-right {
  display: flex;
  gap: 8px;
  align-items: center;
}

.search-type-select {
  width: 100px;
}

.search-type-select .ant-select-selector {
  border-radius: 4px 0 0 4px;
}

.search-input {
  width: 250px;
}

.search-input .ant-input {
  border-radius: 0 4px 4px 0;
}

/* 表格容器 */
.table-container {
  background: #fff;
  border-radius: 8px;
  padding: 16px;
}

.table-container .ant-table {
  font-size: 14px;
}

.table-container .ant-table-thead > tr > th {
  background: #fafafa;
  font-weight: 600;
}

.table-container .ant-table-tbody > tr:hover > td {
  background: #e6f4ff;
}

/* 标签弹窗 */
.tag-modal .tag-modal-content {
  padding: 8px 0;
}

.tag-group {
  margin-bottom: 16px;
}

.tag-group-title {
  font-size: 14px;
  color: #666;
  margin-bottom: 12px;
  padding-left: 4px;
  border-left: 2px solid #1890ff;
}

.tag-options {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.tag-option {
  min-width: 80px;
  border-radius: 6px;
  border: 1px solid #d9d9d9;
  background: #fafafa;
  color: #666;
  transition: all 0.2s;
}

.tag-option:hover {
  border-color: #1890ff;
  color: #1890ff;
  background: #e6f4ff;
}

.tag-option.selected {
  border-color: #1890ff;
  background: #1890ff;
  color: #fff;
}

/* 员工弹窗 */
.employee-modal .employee-modal-content {
  padding: 8px 0;
}

.employee-search-input {
  margin-bottom: 12px;
}

.employee-list {
  max-height: 300px;
  overflow-y: auto;
}

.employee-item {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  cursor: pointer;
  border-radius: 6px;
  transition: all 0.2s;
}

.employee-item:hover {
  background: #f5f5f5;
}

.employee-item.selected {
  background: #e6f4ff;
}

.employee-item-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #1890ff;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  margin-right: 12px;
  flex-shrink: 0;
}

.employee-item-info {
  flex: 1;
}

.employee-item-name {
  font-weight: 500;
  color: #333;
  margin-bottom: 2px;
}

.employee-item-dept {
  font-size: 12px;
  color: #999;
}

.employee-item-check {
  color: #1890ff;
  font-size: 18px;
}

/* 滚动条样式 */
.employee-list::-webkit-scrollbar {
  width: 6px;
}

.employee-list::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}

.employee-list::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}

.employee-list::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* 表格固定列样式 */
.table-container .ant-table-fixed-left,
.table-container .ant-table-fixed-right {
  background: #fff;
}

.table-container .ant-table-thead > tr > th.ant-table-cell-fix-left,
.table-container .ant-table-thead > tr > th.ant-table-cell-fix-right {
  background: #fafafa;
}

.table-container .ant-table-tbody > tr:hover > td.ant-table-cell-fix-left,
.table-container .ant-table-tbody > tr:hover > td.ant-table-cell-fix-right {
  background: #e6f4ff;
}

/* 批量操作工具栏 */
.batch-action-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  background: #e6f4ff;
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 16px;
  border: 1px solid #91d5ff;
}

.batch-action-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.batch-action-count {
  font-size: 14px;
  color: #1890ff;
  font-weight: 500;
  margin-right: 8px;
}

.batch-action-right {
  display: flex;
  gap: 8px;
}

/* 转移弹窗 */
.transfer-modal .transfer-modal-content {
  padding: 8px 0;
}

.transfer-info {
  margin-bottom: 16px;
}

.transfer-count {
  font-size: 14px;
  color: #666;
  background: #e6f4ff;
  padding: 8px 12px;
  border-radius: 4px;
}

.transfer-form {
  margin-bottom: 16px;
}

.transfer-label {
  font-size: 14px;
  color: #333;
  margin-bottom: 8px;
}

/* 响应式 */
@media (max-width: 1400px) {
  .filter-left {
    width: 160px;
  }
  
  .employee-input,
  .tag-input {
    width: 250px;
  }
}

/* 员工树形选择弹窗 */
.employee-tree-modal .ant-modal-body {
  padding: 0;
}

.employee-tree-modal-content {
  display: flex;
  height: 600px;
}

/* 左侧部门树 */
.modal-left {
  width: 250px;
  border-right: 1px solid #f0f0f0;
  display: flex;
  flex-direction: column;
}

.modal-left .modal-search-input {
  padding: 12px;
  border-bottom: 1px solid #f0f0f0;
}

.modal-left .modal-search-input .ant-input {
  border-radius: 4px;
}

.modal-left-header {
  padding: 8px 12px;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
}

.tree-content {
  flex: 1;
  overflow-y: auto;
  padding: 8px 0;
}

.tree-item {
  position: relative;
}

.tree-node {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  cursor: pointer;
  transition: all 0.2s;
  color: #333;
}

.tree-node:hover {
  background: #e6f4ff;
}

.tree-node.selected {
  background: #1890ff;
  color: #fff;
}

.tree-node.selected .tree-node-label {
  color: #fff;
}

.tree-expand-icon {
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 4px;
  font-size: 10px;
  color: #999;
  transition: transform 0.2s;
  cursor: pointer;
}

.tree-node.selected .tree-expand-icon {
  color: #fff;
}

.tree-expand-icon.expanded {
  transform: rotate(90deg);
}

.tree-expand-icon.empty {
  visibility: hidden;
}

.tree-node-label {
  flex: 1;
  font-size: 14px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tree-children {
  padding-left: 16px;
}

/* 中间员工列表 */
.modal-middle {
  width: 300px;
  border-right: 1px solid #f0f0f0;
  display: flex;
  flex-direction: column;
}

.modal-middle-header {
  padding: 12px 16px;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
  font-weight: 500;
}

.employee-list-container {
  flex: 1;
  overflow-y: auto;
}

.employee-item {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  cursor: pointer;
  border-bottom: 1px solid #f5f5f5;
  transition: all 0.2s;
}

.employee-item:hover {
  background: #f5f5f5;
}

.employee-item.selected {
  background: #e6f4ff;
}

.employee-item .ant-checkbox-wrapper {
  margin-right: 8px;
}

.employee-item-content {
  flex: 1;
  min-width: 0;
}

.employee-item-name {
  font-size: 14px;
  color: #333;
  margin-bottom: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.employee-item-dept {
  font-size: 12px;
  color: #999;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 右侧已选择 */
.modal-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  background: #fafafa;
}

.modal-right-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: #fff;
  border-bottom: 1px solid #f0f0f0;
}

.modal-right-title {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

.modal-close-icon {
  cursor: pointer;
  color: #999;
  font-size: 16px;
  transition: color 0.2s;
}

.modal-close-icon:hover {
  color: #333;
}

.modal-right .modal-search-input {
  padding: 12px 16px;
  border-bottom: 1px solid #f0f0f0;
}

.selected-employee-list {
  flex: 1;
  overflow-y: auto;
  padding: 12px 16px;
}

.selected-employee-item {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  background: #fff;
  border-radius: 4px;
  margin-bottom: 8px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  transition: all 0.2s;
}

.selected-employee-item:hover {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.selected-employee-name {
  flex: 1;
  margin-left: 8px;
  font-size: 14px;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.remove-employee-icon {
  color: #999;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s;
  padding: 4px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.remove-employee-icon:hover {
  color: #ff4d4f;
  background: #fff1f0;
}

.empty-selected {
  text-align: center;
  color: #999;
  padding: 20px;
  font-size: 14px;
}

/* 滚动条样式 */
.tree-content::-webkit-scrollbar,
.employee-list-container::-webkit-scrollbar,
.selected-employee-list::-webkit-scrollbar {
  width: 6px;
}

.tree-content::-webkit-scrollbar-track,
.employee-list-container::-webkit-scrollbar-track,
.selected-employee-list::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}

.tree-content::-webkit-scrollbar-thumb,
.employee-list-container::-webkit-scrollbar-thumb,
.selected-employee-list::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}

.tree-content::-webkit-scrollbar-thumb:hover,
.employee-list-container::-webkit-scrollbar-thumb:hover,
.selected-employee-list::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* 选择负责人弹窗（简化的单选模式） */
.owner-modal .ant-modal-body {
  padding: 0 !important;
}

.owner-modal .owner-modal-content {
  display: flex !important;
  flex-direction: row !important;
  height: 500px;
}

.owner-modal .modal-left {
  width: 250px !important;
  border-right: 1px solid #f0f0f0;
  display: flex !important;
  flex-direction: column;
}

.owner-modal .modal-left-header {
  padding: 8px 12px;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
}

.owner-modal .tree-content {
  flex: 1;
  overflow-y: auto;
  padding: 8px 0;
}

.owner-modal .modal-right {
  flex: 1;
  display: flex;
  flex-direction: column;
  background: #fff;
}

.owner-modal .modal-right-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
}

.owner-modal .modal-right-title {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

.owner-modal .employee-list-container {
  flex: 1;
  overflow-y: auto;
  padding: 8px 0;
}

.owner-modal .employee-item {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  cursor: pointer;
  border-bottom: 1px solid #f5f5f5;
  transition: all 0.2s;
}

.owner-modal .employee-item:hover {
  background: #f5f5f5;
}

.owner-modal .employee-item.selected {
  background: #e6f4ff;
}

.owner-modal .employee-item-content {
  flex: 1;
  min-width: 0;
}

.owner-modal .employee-item-name {
  font-size: 14px;
  color: #333;
  margin-bottom: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.owner-modal .employee-item-dept {
  font-size: 12px;
  color: #999;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* 联系人详情弹窗样式 */
.contact-detail-drawer .ant-drawer-body {
  padding: 0;
  height: 100%;
  overflow-y: auto;
}

.contact-detail-page {
  min-height: 100%;
  background: #f5f7fa;
  padding: 16px;
}

/* 联系人信息卡片 */
.contact-info-card {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  background: #fff;
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 16px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.contact-info-left {
  flex: 1;
}

.contact-info-right {
  display: flex;
  gap: 8px;
}

.contact-title-section {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.star-icon {
  font-size: 20px;
  cursor: pointer;
  color: #999;
  transition: color 0.3s;
}

.star-icon.starred {
  color: #faad14;
}

.contact-title {
  font-size: 20px;
  font-weight: 600;
  color: #333;
  margin: 0;
}

.contact-info-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.info-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.info-label {
  font-size: 12px;
  color: #999;
}

.info-value {
  font-size: 14px;
  color: #333;
}

.return-btn {
  margin-left: 8px;
}

/* 操作按钮区域 */
.action-button-section {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
}

/* 内容区域包装器 - 左右布局 */
.detail-content-wrapper {
  display: flex;
  gap: 16px;
  height: calc(100vh - 300px);
  min-height: 500px;
}

/* 信息概况区域 */
.info-section {
  background: #fff;
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  flex: 1;
  min-width: 500px;
  overflow-y: auto;
  margin-bottom: 0;
}

.info-tabs {
  display: flex;
  gap: 24px;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 16px;
}

.info-tab {
  padding: 8px 0;
  font-size: 14px;
  color: #666;
  cursor: pointer;
  position: relative;
  transition: color 0.3s;
}

.info-tab:hover {
  color: #1890ff;
}

.info-tab.active {
  color: #1890ff;
  font-weight: 500;
}

.info-tab.active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background: #1890ff;
}

.info-content {
  min-height: 100px;
}

.info-block {
  margin-bottom: 20px;
}

.info-block:last-child {
  margin-bottom: 0;
}

.info-block-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.info-block-icon {
  font-size: 16px;
  color: #1890ff;
}

.info-block-title {
  font-size: 14px;
  font-weight: 500;
  color: #333;
}

.info-block-content {
  background: #fafafa;
  border-radius: 6px;
  padding: 12px;
}

.info-row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  padding: 8px 0;
}

.info-row:not(:last-child) {
  border-bottom: 1px solid #f0f0f0;
}

.info-row:last-child {
  border-bottom: none;
}

.info-row-label {
  font-size: 12px;
  color: #999;
  min-width: 80px;
}

.info-row-value {
  font-size: 14px;
  color: #333;
  flex: 1;
}

.share-list-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 0;
  color: #999;
}

.share-list-empty .anticon {
  font-size: 48px;
  margin-bottom: 16px;
}

/* 活动记录区域 - 右侧 */
.activity-section {
  background: #fff;
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  width: 400px;
  min-width: 400px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.activity-section .activity-tabs {
  flex-shrink: 0;
  margin-bottom: 12px;
}

.activity-section .activity-content {
  flex: 1;
  overflow-y: auto;
  /* height: 100%; */
  min-height: 0;
}

.activity-tabs {
  display: flex;
  gap: 24px;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 16px;
}

.activity-tab {
  padding: 8px 0;
  font-size: 14px;
  color: #666;
  cursor: pointer;
  position: relative;
  transition: color 0.3s;
}

.activity-tab:hover {
  color: #1890ff;
}

.activity-tab.active {
  color: #1890ff;
  font-weight: 500;
}

.activity-tab.active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 2px;
  background: #1890ff;
}

.activity-content {
  /* min-height: 100px;  */
}

.activity-item {
  padding: 12px 24px !important;
  box-sizing: border-box;
}

.activity-item:not(:last-child) {
  border-bottom: 1px solid #f0f0f0 !important;
}

.activity-item-main {
  width: 100%;
}

.activity-item-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

.activity-avatar {
  background: #1890ff;
}

.activity-item-info {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
}

.activity-operator {
  font-size: 14px;
  color: #333;
  font-weight: 500;
}

.activity-action {
  font-size: 14px;
  color: #666;
}

.activity-business {
  font-size: 14px;
  color: #1890ff;
}

.activity-item-time {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}

.activity-time {
  font-size: 12px;
  color: #999;
}

.activity-date {
  font-size: 12px;
  color: #ccc;
}

.activity-item-content {
  font-size: 14px;
  color: #666;
  margin-top: 8px;
  padding-left: 44px;
}

.activity-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 0;
  color: #999;
}

.activity-empty .anticon {
  font-size: 48px;
  margin-bottom: 16px;
}

/* 写跟进弹窗样式 */
.follow-modal-content {
  padding: 16px 0;
}

.follow-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 8px 0;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 12px;
}

.follow-toolbar .ant-btn {
  padding: 4px 8px;
  color: #666;
}

.follow-toolbar .ant-btn:hover {
  color: #1890ff;
}

.follow-textarea {
  resize: none;
}

.follow-options {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 16px;
}

.follow-option-item {
  display: flex;
  align-items: center;
  gap: 12px;
}

.follow-option-label {
  font-size: 14px;
  color: #666;
  white-space: nowrap;
}

.follow-modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #f0f0f0;
}

/* 转移弹窗样式 */
.transfer-modal-content {
  padding: 16px 0;
}

.transfer-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.transfer-form-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.transfer-form-label {
  font-size: 14px;
  color: #666;
}

.transfer-selected-employee {
  margin-left: 12px;
  color: #1890ff;
}

.transfer-modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #f0f0f0;
}

/* 新建计划弹窗样式 */
.plan-modal-content {
  padding: 24px 0;
  text-align: center;
  color: #999;
}

.plan-modal-footer {
  display: flex;
  justify-content: center;
  margin-top: 16px;
}.contact-create-page {
  min-height: 100vh;
  background: #f5f7fa;
}

.contact-create-content {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.contact-create-form-wrapper {
  flex: 1;
  padding: 16px;
  overflow-y: auto;
}

.contact-create-header {
  margin-bottom: 16px;
}

.contact-create-title {
  font-size: 20px;
  font-weight: 600;
  color: #333;
  margin: 0;
}

.contact-create-form {
  background: #fff;
  border-radius: 8px;
  padding: 24px;
  margin-bottom: 16px;
}

.form-row {
  display: flex;
  gap: 16px;
  margin-bottom: 16px;
}

.form-row:last-child {
  margin-bottom: 0;
}

.form-col {
  flex: 1;
  min-width: 0;
}

.form-col:first-child:last-child {
  flex: none;
  width: 100%;
}

/* 表单标签样式 */
.contact-create-form .ant-form-item-label > label {
  font-size: 14px;
  color: #333;
}

.required {
  color: #ff4d4f;
  margin-right: 4px;
}

/* 输入框样式 */
.contact-create-form .ant-input,
.contact-create-form .ant-select-selector,
.contact-create-form .ant-input-textarea {
  border-radius: 4px;
  font-size: 14px;
}

.contact-create-form .ant-input:hover,
.contact-create-form .ant-select-selector:hover {
  border-color: #1890ff;
}

.contact-create-form .ant-input-focused,
.contact-create-form .ant-select-focused .ant-select-selector {
  border-color: #1890ff;
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1);
}

/* 带按钮的输入框 */
.contact-create-form .ant-input-group-addon {
  padding: 0;
  border: none;
  background: transparent;
}

.contact-create-form .ant-input-group-addon .ant-btn {
  border-radius: 0 4px 4px 0;
  height: 32px;
  padding: 0 12px;
}

/* Radio 样式 */
.contact-create-form .ant-radio-wrapper {
  margin-right: 16px;
  font-size: 14px;
}

/* 底部固定按钮 */
.contact-create-footer {
  position: sticky;
  bottom: 0;
  background: #fff;
  padding: 12px 16px;
  border-top: 1px solid #f0f0f0;
  display: flex;
  justify-content: center;
  gap: 16px;
  z-index: 10;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.05);
}

.contact-create-footer .ant-btn {
  min-width: 100px;
  border-radius: 4px;
}

/* 负责人选择弹窗 - 简化版 */
.simple-employee-modal .ant-modal-body {
  padding: 0;
}

.simple-content {
  display: flex;
  height: 400px;
  border: 1px solid #f0f0f0;
}

.simple-content .modal-column {
  flex: 1;
  border-right: 1px solid #f0f0f0;
}

.simple-content .modal-column:last-child {
  border-right: none;
}

.simple-content .dept-column {
  min-width: 180px;
  max-width: 180px;
}

.simple-content .employee-column {
  min-width: 250px;
}

/* 复用员工选择弹窗样式 */
.column-header {
  padding: 12px;
  border-bottom: 1px solid #f0f0f0;
  background: #fafafa;
}

.column-search {
  width: 100%;
}

.column-search .ant-input {
  background: #fff;
  border-color: #d9d9d9;
}

.column-body {
  flex: 1;
  overflow-y: auto;
  padding: 8px 0;
}

.dept-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  cursor: pointer;
  transition: all 0.2s;
  font-size: 14px;
}

.dept-item:hover {
  background: #f5f5f5;
}

.dept-item.active {
  background: #e6f4ff;
  color: #1890ff;
}

.dept-name {
  flex: 1;
}

.dept-count {
  font-size: 12px;
  color: #999;
  margin-left: 8px;
}

.dept-tree-item {
  margin-bottom: 4px;
}

.dept-tree-header {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.2s;
}

.dept-tree-header:hover {
  background: #f5f5f5;
}

.dept-tree-arrow {
  font-size: 10px;
  color: #999;
  margin-right: 6px;
  transition: transform 0.2s;
  display: inline-block;
}

.dept-tree-header.expanded .dept-tree-arrow {
  transform: rotate(90deg);
}

.dept-tree-name {
  flex: 1;
}

.dept-tree-children {
  padding-left: 20px;
}

.employee-scroll-list {
  padding: 0 8px;
}

.employee-item {
  display: flex;
  align-items: flex-start;
  padding: 10px 8px;
  cursor: pointer;
  border-radius: 4px;
  transition: all 0.2s;
  margin-bottom: 4px;
  position: relative;
}

.employee-item:hover {
  background: #f5f5f5;
}

.employee-item.selected {
  background: #e6f4ff;
}

.employee-item .ant-checkbox-wrapper {
  margin-right: 8px;
  margin-top: 4px;
  flex-shrink: 0;
}

.employee-detail {
  flex: 1;
  min-width: 0;
}

.employee-name-role {
  font-size: 14px;
  color: #333;
  margin-bottom: 4px;
}

.employee-name {
  font-weight: 500;
}

.employee-role {
  color: #666;
  font-weight: normal;
}

.employee-dept {
  font-size: 12px;
  color: #999;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.employee-item-check {
  color: #1890ff;
  font-size: 16px;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
}

/* 滚动条样式 */
.column-body::-webkit-scrollbar {
  width: 6px;
}

.column-body::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.column-body::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}

.column-body::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* 客户选择弹窗样式 */
.customer-modal-content {
  padding: 0;
}

.customer-search-header {
  padding: 16px;
  border-bottom: 1px solid #f0f0f0;
  background: #fafafa;
}

.customer-list {
  max-height: 400px;
  overflow-y: auto;
  padding: 8px;
}

.customer-list-loading {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px;
}

.customer-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
  margin-bottom: 4px;
}

.customer-item:hover {
  background: #f5f5f5;
}

.customer-item.selected {
  background: #e6f4ff;
}

.customer-item-info {
  flex: 1;
  min-width: 0;
}

.customer-item-name {
  font-size: 14px;
  color: #333;
  font-weight: 500;
  margin-bottom: 4px;
}

.customer-item-uscc {
  font-size: 12px;
  color: #999;
}

.customer-item-check {
  color: #1890ff;
  font-size: 18px;
  margin-left: 8px;
}

.customer-list-empty {
  text-align: center;
  color: #999;
  padding: 40px;
  font-size: 14px;
}

/* 滚动条样式 */
.customer-list::-webkit-scrollbar {
  width: 6px;
}

.customer-list::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}

.customer-list::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}

.customer-list::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* 响应式 */
@media (max-width: 768px) {
  .form-row {
    flex-direction: column;
  }
  
  .simple-content {
    flex-direction: column;
    height: 500px;
  }
  
  .simple-content .dept-column {
    max-width: none;
    border-bottom: 1px solid #f0f0f0;
  }
  
  .simple-content .modal-column {
    border-right: none;
  }
}
/* 绩效评分页面样式 */

.performance-score-page {
  min-height: 100vh;
  background-color: #f5f5f5;
  padding: 16px;
}

/* 筛选条件区域 */
.filter-section {
  display: flex;
  gap: 16px;
  margin-bottom: 16px;
  background: #fff;
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.filter-left {
  width: 200px;
  border-right: 1px solid #f0f0f0;
  padding-right: 16px;
}

.filter-right {
  flex: 1;
}

/* 我的视图 */
.my-views {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.view-title {
  font-size: 14px;
  font-weight: 500;
  color: #1f1f1f;
  margin-bottom: 8px;
}

.view-item {
  padding: 8px 12px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.3s;
  font-size: 13px;
  color: #595959;
}

.view-item:hover {
  background: #f5f5f5;
}

.view-item.active {
  background: #e6f7ff;
  color: #1890ff;
  font-weight: 500;
}

/* 筛选头部 */
.filter-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.filter-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #1f1f1f;
}

.filter-title-bar {
  width: 3px;
  height: 14px;
  background: #1890ff;
  border-radius: 2px;
}

.expand-btn {
  font-size: 12px;
  color: #8c8c8c;
}

/* 筛选内容 */
.filter-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.filter-row {
  display: flex;
  align-items: center;
  gap: 16px;
}

.filter-label {
  width: 30px;
  font-size: 13px;
  color: #595959;
  text-align: right;
}

.filter-value {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 12px;
}

/* 已选标签区域 */
.selected-filters {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 12px;
  border-top: 1px solid #f0f0f0;
  margin-top: 8px;
}

.selected-label {
  font-size: 13px;
  color: #595959;
  font-weight: 500;
}

.selected-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  flex: 1;
}

.clear-btn {
  font-size: 12px;
  color: #8c8c8c;
}

/* 操作栏 */
.action-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  background: #fff;
  border-radius: 8px;
  padding: 12px 16px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.action-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.action-right {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* 表格区域 */
.table-wrapper {
  background: #fff;
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.table-wrapper .ant-table {
  font-size: 13px;
}

.table-wrapper .ant-table-thead > tr > th {
  background: #fafafa;
  font-weight: 500;
  color: #1f1f1f;
}

.table-wrapper .ant-table-tbody > tr:hover > td {
  background: #f5f5f5;
}

/* 选择员工弹窗样式 */
.owner-select-modal .owner-select-modal-content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.owner-select-modal .owner-search {
  margin-bottom: 12px;
}

.owner-select-modal .owner-select-body {
  display: flex;
  gap: 16px;
  height: 400px;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  overflow: hidden;
}

.owner-select-modal .owner-dept-tree {
  width: 200px;
  border-right: 1px solid #f0f0f0;
  overflow-y: auto;
  padding: 8px;
  background: #fafafa;
}

.owner-select-modal .owner-dept-tree .ant-tree-treenode {
  padding: 4px 8px;
  cursor: pointer;
}

.owner-select-modal .owner-dept-tree .ant-tree-treenode-selected {
  background: #e6f7ff;
}

.owner-select-modal .owner-dept-tree .dept-tree-title {
  font-size: 13px;
  color: #1f1f1f;
}

.owner-select-modal .owner-employee-list {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}

.owner-select-modal .owner-employee-list .employee-item {
  cursor: pointer;
  transition: all 0.2s;
  padding: 12px !important;
  border-radius: 8px;
  margin-bottom: 8px;
}

.owner-select-modal .owner-employee-list .employee-item:hover {
  background: #f5f5f5;
}

.owner-select-modal .owner-employee-list .employee-item.selected {
  background: #e6f7ff;
  border-color: #1890ff;
}

.owner-select-modal .owner-employee-list .employee-item .ant-list-item-meta-title {
  font-weight: 500;
  margin-bottom: 4px;
}

.owner-select-modal .owner-employee-list .employee-item .employee-dept {
  font-size: 12px;
  color: #8c8c8c;
  margin-left: 8px;
}

/* 新建评分弹窗样式 */
.rating-select-modal .rating-select-modal-content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.rating-select-modal .rating-search {
  margin-bottom: 12px;
}

.rating-select-modal .rating-select-body {
  display: flex;
  gap: 16px;
  height: 300px;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  overflow: hidden;
}

.rating-select-modal .rating-dept-tree {
  width: 200px;
  border-right: 1px solid #f0f0f0;
  overflow-y: auto;
  padding: 8px;
  background: #fafafa;
}

.rating-select-modal .rating-dept-tree .ant-tree-treenode {
  padding: 4px 8px;
  cursor: pointer;
}

.rating-select-modal .rating-dept-tree .ant-tree-treenode-selected {
  background: #e6f7ff;
}

.rating-select-modal .rating-dept-tree .dept-tree-title {
  font-size: 13px;
  color: #1f1f1f;
}

.rating-select-modal .rating-employee-list {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
}

.rating-select-modal .rating-employee-list .employee-item {
  cursor: pointer;
  transition: all 0.2s;
  padding: 12px !important;
  border-radius: 8px;
  margin-bottom: 8px;
}

.rating-select-modal .rating-employee-list .employee-item:hover {
  background: #f5f5f5;
}

.rating-select-modal .rating-employee-list .employee-item.selected {
  background: #e6f7ff;
  border-color: #1890ff;
}

.rating-select-modal .rating-employee-list .employee-item .ant-list-item-meta-title {
  font-weight: 500;
  margin-bottom: 4px;
}

.rating-select-modal .rating-employee-list .employee-item .employee-dept {
  font-size: 12px;
  color: #8c8c8c;
  margin-left: 8px;
}

.rating-select-modal .rating-employee-list .ant-avatar {
  background: #f0f0f0;
}

/* 评分弹窗分组员工列表样式 */
.rating-select-modal .grouped-employee-list {
  padding: 8px;
}

.rating-select-modal .employee-group {
  margin-bottom: 8px;
}

.rating-select-modal .employee-group-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  background: #fafafa;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
  user-select: none;
}

.rating-select-modal .employee-group-header:hover {
  background: #f0f0f0;
}

.rating-select-modal .expand-icon {
  font-size: 10px;
  color: #8c8c8c;
  transition: transform 0.2s;
  display: inline-block;
}

.rating-select-modal .expand-icon.expanded {
  transform: rotate(90deg);
}

.rating-select-modal .group-dept-name {
  font-size: 14px;
  font-weight: 500;
  color: #1f1f1f;
  flex: 1;
}

.rating-select-modal .group-employee-count {
  font-size: 12px;
  color: #8c8c8c;
}

.rating-select-modal .employee-group-list {
  padding: 8px 0 8px 16px;
}

.rating-select-modal .employee-group-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  margin-bottom: 4px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
}

.rating-select-modal .employee-group-item:hover {
  background: #f5f5f5;
}

.rating-select-modal .employee-group-item.selected {
  background: #e6f7ff;
}

.rating-select-modal .employee-group-item .employee-name {
  font-size: 13px;
  font-weight: 500;
  color: #1f1f1f;
  flex: 1;
}

.rating-select-modal .employee-group-item .employee-position {
  font-size: 12px;
}

.rating-select-modal .employee-group-children {
  padding-left: 16px;
}

.rating-select-modal .rating-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  background: #fafafa;
  border-radius: 8px;
}

.rating-select-modal .rating-form-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.rating-select-modal .rating-form-label {
  font-size: 13px;
  color: #595959;
  min-width: 80px;
  text-align: right;
}

.rating-select-modal .rating-form-row .ant-select,
.rating-select-modal .rating-form-row .ant-input,
.rating-select-modal .rating-form-row .ant-input-textarea {
  flex: 1;
}

/* 评分弹窗中的员工分组列表 - 扁平模式样式增强 */
.rating-select-modal .rating-employee-list .employee-item {
  cursor: pointer;
  transition: all 0.2s;
  padding: 12px !important;
  border-radius: 8px;
  margin-bottom: 8px;
}

.rating-select-modal .rating-employee-list .employee-item:hover {
  background: #f5f5f5;
}

.rating-select-modal .rating-employee-list .employee-item.selected {
  background: #e6f7ff;
  border-color: #1890ff;
}

.rating-select-modal .rating-employee-list .employee-item .ant-list-item-meta-title {
  font-weight: 500;
  margin-bottom: 4px;
}

.rating-select-modal .rating-employee-list .employee-item .employee-dept {
  font-size: 12px;
  color: #8c8c8c;
  margin-left: 8px;
}

.rating-select-modal .rating-employee-list .ant-avatar {
  background: #f0f0f0;
}

.owner-select-modal .owner-employee-list .ant-avatar {
  background: #f0f0f0;
}

/* 分组员工列表样式 */
.owner-select-modal .grouped-employee-list {
  padding: 8px;
}

.owner-select-modal .employee-group {
  margin-bottom: 8px;
}

.owner-select-modal .employee-group-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  background: #fafafa;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
  user-select: none;
}

.owner-select-modal .employee-group-header:hover {
  background: #f0f0f0;
}

.owner-select-modal .expand-icon {
  font-size: 10px;
  color: #8c8c8c;
  transition: transform 0.2s;
  display: inline-block;
}

.owner-select-modal .expand-icon.expanded {
  transform: rotate(90deg);
}

.owner-select-modal .group-dept-name {
  font-size: 14px;
  font-weight: 500;
  color: #1f1f1f;
  flex: 1;
}

.owner-select-modal .group-employee-count {
  font-size: 12px;
  color: #8c8c8c;
}

.owner-select-modal .employee-group-list {
  padding: 8px 0 8px 16px;
}

.owner-select-modal .employee-group-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  margin-bottom: 4px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
}

.owner-select-modal .employee-group-item:hover {
  background: #f5f5f5;
}

.owner-select-modal .employee-group-item.selected {
  background: #e6f7ff;
}

.owner-select-modal .employee-group-item .employee-name {
  font-size: 13px;
  font-weight: 500;
  color: #1f1f1f;
  flex: 1;
}

.owner-select-modal .employee-group-item .employee-position {
  font-size: 12px;
}

.owner-select-modal .employee-group-children {
  padding-left: 16px;
}

/* 扁平员工列表样式增强 */
.owner-select-modal .owner-employee-list .employee-item {
  cursor: pointer;
  transition: all 0.2s;
  padding: 12px !important;
  border-radius: 8px;
  margin-bottom: 8px;
}

.owner-select-modal .owner-employee-list .employee-item:hover {
  background: #f5f5f5;
}

.owner-select-modal .owner-employee-list .employee-item.selected {
  background: #e6f7ff;
  border-color: #1890ff;
}

.owner-select-modal .owner-employee-list .employee-item .ant-list-item-meta-title {
  font-weight: 500;
  margin-bottom: 4px;
}

.owner-select-modal .owner-employee-list .employee-item .employee-dept {
  font-size: 12px;
  color: #8c8c8c;
  margin-left: 8px;
}
/* 我的评分页面样式 */

.my-score-page {
  min-height: 100vh;
  background-color: #f5f5f5;
  padding: 16px;
}

/* 筛选条件区域 */
.filter-section {
  display: flex;
  gap: 16px;
  margin-bottom: 16px;
  background: #fff;
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.filter-left {
  width: 200px;
  border-right: 1px solid #f0f0f0;
  padding-right: 16px;
}

.filter-right {
  flex: 1;
}

/* 我的视图 */
.my-views {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.view-title {
  font-size: 14px;
  font-weight: 500;
  color: #1f1f1f;
  margin-bottom: 8px;
}

.view-item {
  padding: 8px 12px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.3s;
  font-size: 13px;
  color: #595959;
}

.view-item:hover {
  background: #f5f5f5;
}

.view-item.active {
  background: #e6f7ff;
  color: #1890ff;
  font-weight: 500;
}

/* 筛选头部 */
.filter-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.filter-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #1f1f1f;
}

.filter-title-bar {
  width: 3px;
  height: 14px;
  background: #1890ff;
  border-radius: 2px;
}

.expand-btn {
  font-size: 12px;
  color: #8c8c8c;
}

/* 筛选内容 */
.filter-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.filter-row {
  display: flex;
  align-items: center;
  gap: 16px;
}

.filter-label {
  width: 100px !important;
  font-size: 13px;
  color: #595959;
  text-align: right;
}

.filter-value {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 12px;
}

/* 已选标签区域 */
.selected-filters {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-top: 12px;
  border-top: 1px solid #f0f0f0;
  margin-top: 8px;
}

.selected-label {
  font-size: 13px;
  color: #595959;
  font-weight: 500;
}

.selected-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  flex: 1;
}

.clear-btn {
  font-size: 12px;
  color: #8c8c8c;
}

/* 操作栏 */
.action-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  background: #fff;
  border-radius: 8px;
  padding: 12px 16px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.action-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.action-right {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* 表格区域 */
.table-wrapper {
  background: #fff;
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.table-wrapper .ant-table {
  font-size: 13px;
}

.table-wrapper .ant-table-thead > tr > th {
  background: #fafafa;
  font-weight: 500;
  color: #1f1f1f;
}

.table-wrapper .ant-table-tbody > tr:hover > td {
  background: #f5f5f5;
}

/* 选择员工弹窗 */
.owner-select-modal .owner-select-modal-content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.owner-select-modal .owner-search {
  padding: 12px 0;
  border-bottom: 1px solid #f0f0f0;
}

.owner-select-modal .owner-search .ant-input {
  padding: 8px 12px;
  border-radius: 4px;
}

.owner-select-modal .owner-select-body {
  display: flex;
  gap: 16px;
  height: 400px;
}

.owner-select-modal .owner-dept-tree {
  width: 240px;
  border: 1px solid #f0f0f0;
  border-radius: 4px;
  padding: 8px;
  overflow-y: auto;
}

.owner-select-modal .owner-employee-list {
  flex: 1;
  border: 1px solid #f0f0f0;
  border-radius: 4px;
  overflow-y: auto;
}

.owner-select-modal .grouped-employee-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 12px;
}

.owner-select-modal .dept-group {
  border: 1px solid #f0f0f0;
  border-radius: 4px;
  overflow: hidden;
}

.owner-select-modal .dept-group-title {
  padding: 8px 12px;
  background: #fafafa;
  font-size: 13px;
  font-weight: 500;
  color: #1f1f1f;
  border-bottom: 1px solid #f0f0f0;
}

.owner-select-modal .employee-item {
  cursor: pointer;
  transition: all 0.3s;
}

.owner-select-modal .employee-item:hover {
  background: #f5f5f5;
}

.owner-select-modal .employee-item.selected {
  background: #e6f7ff;
  border-color: #1890ff;
}

.owner-select-modal .employee-item .ant-list-item-meta-title {
  font-size: 13px;
  font-weight: 500;
  color: #1f1f1f;
}

.owner-select-modal .employee-item .employee-dept {
  font-size: 12px;
  color: #8c8c8c;
  margin-left: 8px;
}/* 绩效详情抽屉 */
.performance-detail-drawer .ant-drawer-content {
  border-radius: 0;
  overflow: hidden;
}

.performance-detail-drawer .ant-drawer-header {
  padding: 0;
  border-bottom: none;
  height: auto;
  background-color: #f5f7fa;
}

.performance-detail-drawer .ant-drawer-body {
  padding: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: #f5f7fa;
}

.performance-detail-drawer .ant-drawer-close {
  display: none;
}

/* 抽屉头部 - 白色卡片样式 */
.performance-detail-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background-color: #fff;
  margin: 16px;
  margin-bottom: 0;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.performance-detail-header-left {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
}

.performance-detail-header-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

.performance-detail-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 18px;
  flex-shrink: 0;
}

.performance-detail-title {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  overflow: hidden;
  min-width: 0;
}

.performance-detail-title-main {
  font-size: 14px;
  font-weight: 500;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.performance-detail-title-sub {
  font-size: 12px;
  color: #999;
}

.performance-detail-close {
  font-size: 18px;
  color: #999;
  cursor: pointer;
  transition: color 0.3s;
}

.performance-detail-close:hover {
  color: #333;
}

/* 抽屉内容区域 */
.performance-detail-content {
  padding: 16px 20px 0;
  background-color: #f5f7fa;
  flex: 1;
  overflow-y: auto;
}

.performance-detail-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 200px;
  color: #999;
  font-size: 14px;
}

.performance-detail-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 200px;
  color: #999;
  font-size: 14px;
  background-color: #fff;
  border-radius: 8px;
}

/* 信息卡片 */
.performance-detail-card {
  background-color: #fff;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.performance-detail-card-title {
  font-size: 16px;
  font-weight: 600;
  color: #333;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f0f0f0;
}

/* 信息行 */
.performance-detail-row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -12px;
}

.performance-detail-col {
  width: 50%;
  padding: 0 12px;
  margin-bottom: 16px;
}

.performance-detail-label {
  font-size: 13px;
  color: #999;
  margin-bottom: 6px;
}

.performance-detail-value {
  font-size: 14px;
  color: #333;
  font-weight: 500;
}

.performance-detail-value.amount {
  font-size: 18px;
  font-weight: 600;
  color: #ff6b35;
}

.performance-detail-value.score-highlight {
  font-size: 18px;
  font-weight: 600;
}

/* 最终得分颜色 */
.final-score.excellent {
  color: #52c41a;
}

.final-score.good {
  color: #faad14;
}

.final-score.poor {
  color: #ff4d4f;
}

/* 评分明细表格 */
.performance-detail-card .ant-table {
  background-color: transparent;
}

.performance-detail-card .ant-table-thead > tr > th {
  background-color: #fafafa;
  border-bottom: 1px solid #f0f0f0;
  font-weight: 600;
  font-size: 13px;
  color: #333;
}

.performance-detail-card .ant-table-tbody > tr > td {
  border-bottom: 1px solid #f0f0f0;
  font-size: 13px;
  color: #666;
}

.performance-detail-card .ant-table-tbody > tr:hover > td {
  background-color: #fafafa;
}

.performance-detail-card .ant-table-tbody > tr:last-child > td {
  border-bottom: none;
}

/* 滚动条样式 */
.performance-detail-content::-webkit-scrollbar {
  width: 6px;
}

.performance-detail-content::-webkit-scrollbar-track {
  background: transparent;
}

.performance-detail-content::-webkit-scrollbar-thumb {
  background: #d9d9d9;
  border-radius: 3px;
}

.performance-detail-content::-webkit-scrollbar-thumb:hover {
  background: #bfbfbf;
}

.performance-detail-card .ant-table-body::-webkit-scrollbar {
  width: 6px;
}

.performance-detail-card .ant-table-body::-webkit-scrollbar-track {
  background: transparent;
}

.performance-detail-card .ant-table-body::-webkit-scrollbar-thumb {
  background: #d9d9d9;
  border-radius: 3px;
}

.performance-detail-card .ant-table-body::-webkit-scrollbar-thumb:hover {
  background: #bfbfbf;
}
/* CRM 消息首页样式 */

.crm-message-home {
  height: calc(100vh - 50px);
  background: linear-gradient(135deg, #f5f7fa 0%, #e8ecf1 100%);
  padding: 24px;
  box-sizing: border-box;
  overflow: hidden;
}

/* ==================== AI 助手区域 ==================== */
.ai-assistant-section {
  margin-bottom: 24px;
}

.ai-assistant-card {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 16px;
  padding: 32px;
  display: flex;
  align-items: center;
  gap: 24px;
  box-shadow: 0 8px 32px rgba(102, 126, 234, 0.3);
  position: relative;
  overflow: hidden;
}

.ai-avatar-wrapper {
  position: relative;
  flex-shrink: 0;
}

.ai-avatar-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.4) 0%, transparent 70%);
  animation: pulse-glow 2s ease-in-out infinite;
}

@keyframes pulse-glow {
  0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.8; }
  50% { transform: translate(-50%, -50%) scale(1.2); opacity: 0.4; }
}

.ai-avatar {
  position: relative;
  background: rgba(255,255,255,0.2);
  border: 2px solid rgba(255,255,255,0.3);
  font-size: 28px;
  color: #ffffff;
}

.ai-content {
  flex: 1;
  color: #ffffff;
  position: relative;
  z-index: 1;
}

.ai-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.ai-title {
  color: #ffffff !important;
  margin: 0 !important;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 24px !important;
}

.ai-icon {
  font-size: 28px;
  animation: sparkle 2s ease-in-out infinite;
}

@keyframes sparkle {
  0%, 100% { transform: scale(1) rotate(0deg); opacity: 1; }
  50% { transform: scale(1.2) rotate(180deg); opacity: 0.8; }
}

.ai-summary {
  color: rgba(255,255,255,0.9) !important;
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 16px;
}

.ai-actions {
  display: flex;
  gap: 12px;
}

.ai-actions .ant-btn-primary {
  background: #ffffff;
  color: #667eea;
  border: none;
  font-weight: 600;
}

/* ==================== 统计卡片区 ==================== */
.stats-section {
  margin-bottom: 24px;
}

.stats-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.stat-card {
  border-radius: 12px;
  transition: all 0.3s ease;
  border: none;
  overflow: hidden;
  position: relative;
  min-height: 100px;
}

.stat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
}

.stat-icon-wrapper {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 48px;
  color: #fff;
  opacity: 0.2;
}

.stat-content {
  padding: 20px;
}

.stat-label {
  color: #f4f4f4;
  font-size: 14px;
}
.stats-row .ant-card .ant-card-body{
  color: #fff;
  padding: 0 !important;
}

.stat-value {
  margin: 8px 0 0 0 !important;
  font-size: 32px !important;
  font-weight: 600;
  color: #0066ff !important;
}

/* ==================== AI 建议区域 ==================== */
.ai-suggestions-section {
  margin-bottom: 24px;
}

.suggestions-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.suggestion-card {
  border-radius: 12px;
  transition: all 0.3s ease;
  border: 1px solid #e8e8e8;
}

.suggestion-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}

.suggestion-icon {
  font-size: 32px;
  margin-bottom: 12px;
}

.suggestion-content {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.suggestion-text {
  font-size: 13px;
  line-height: 1.5;
}

/* ==================== 内容区域 - 左右布局 ==================== */
.content-section {
  display: grid !important;
  grid-template-columns: 60% 40% !important;
  gap: 24px;
  margin-top: 0;
  height: calc(100vh - 120px);
}

.content-left {
  min-width: 0 !important;
  width: 100%;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}

/* 对话模块容器 */
.conversation-container {
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: 16px;
  border: 1px solid #e8e8e8;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* 在 CRM Message Home 中，聊天容器占满整个左侧区域 */
.crm-message-home .conversation-container {
  max-width: none;
  margin: 0;
}

/* CRM Message Home 中的 chat-container 也占满宽度 */
.crm-message-home .chat-container {
  max-width: none;
}

/* 聊天消息容器 */
.chat-messages-container {
  flex: 1 1 0;
  overflow-y: auto;
  padding: 16px;
  background: #f5f7fa;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

/* 加载更多 */
.load-more-container {
  display: flex;
  justify-content: center;
  margin-bottom: 16px;
}

/* 聊天消息列表 */
.chat-messages-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 0;
}

/* 聊天消息项 */
.chat-message-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.chat-message-item.bot {
  flex-direction: row;
}

.chat-message-item.user {
  flex-direction: row-reverse;
}

/* 聊天头像 */
.chat-message-avatar {
  flex-shrink: 0;
}

.chat-message-avatar .ant-avatar {
  width: 40px;
  height: 40px;
}

/* 聊天消息内容 */
.chat-message-content {
  /* 第一时间占据剩余空间，让布局稳定 */
  flex: 1 1 0;
  min-width: 0; /* 允许 flex 子项缩小 */
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.chat-message-item.bot .chat-message-content {
  align-items: flex-start;
}

.chat-message-item.user .chat-message-content {
  align-items: flex-end;
}

/* 消息时间 */
.chat-message-time {
  font-size: 12px;
  color: #999 !important;
  padding: 0 4px;
}

/* 消息气泡 */
.chat-message-bubble {
  padding: 12px 16px;
  border-radius: 12px;
  /* 气泡根据内容自适应宽度，短文本时不会过长 */
  width: fit-content;
  max-width: 100%;
  word-wrap: break-word;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.chat-message-item.bot .chat-message-bubble {
  background: #fff;
  border: 1px solid #e8e8e8;
  border-bottom-left-radius: 4px;
}

.chat-message-item.user .chat-message-bubble {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-bottom-right-radius: 4px;
}

.chat-message-item.user .chat-message-text {
  color: #fff !important;
}

.chat-message-text {
  font-size: 14px;
  line-height: 1.6;
  white-space: pre-wrap;
  word-wrap: break-word;
}

/* 输入框容器 */
.chat-input-container {
  padding: 16px;
  background: #fff;
  border-top: 1px solid #e8e8e8;
  display: flex;
  gap: 12px;
  align-items: flex-end;
  flex-shrink: 0;
}

.chat-input {
  flex: 1;
  resize: none;
}

.chat-input .ant-input {
  border-radius: 12px;
}

.chat-input-container .ant-btn {
  height: auto;
  padding: 10px 20px;
  border-radius: 12px;
}

.content-right-wrapper {
  min-width: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-right: 30px;
  height: 100%;
  overflow-y: auto;
  flex-shrink: 0;
}

.content-right-wrapper > .right-module {
  flex-shrink: 0;
}

.content-right-wrapper::-webkit-scrollbar {
  width: 6px;
}

.content-right-wrapper::-webkit-scrollbar-thumb {
  background: #d9d9d9;
  border-radius: 3px;
}

.content-right-wrapper::-webkit-scrollbar-thumb:hover {
  background: #bfbfbf;
}

/* 右侧模块通用样式 */
.right-module {
  width: 100%;
}

/* 修复 section-header 被压缩的问题 */
.todos-module .section-header,
.messages-module .section-header,
.stats-module .section-header {
  flex-shrink: 0;
  margin-bottom: 8px;
}

/* 确保各模块 section-header 独立样式 */
.stats-module .section-header {
  margin-bottom: 8px;
}

.messages-module .section-header {
  margin-bottom: 8px;
}

.todos-module .section-header {
  margin-bottom: 8px;
}

/* 数据统计模块（扇形图） */
.stats-module {
  margin-bottom: 8px;
  flex-shrink: 0;
  min-height: 280px;
}

.pie-chart-card {
  border-radius: 12px;
  border: 1px solid #e8e8e8;
}

.pie-chart-container {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 消息列表模块 */
.messages-module {
  min-height: 300px;
  display: flex;
  flex-direction: column;
}

.messages-module .message-list {
  max-height: 320px;
  overflow-y: auto;
}

.messages-module .message-list-card {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.messages-module .message-list-card .ant-card-body {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

/* 待办事项模块 */
.todos-module {
  min-height: 300px;
  display: flex;
  flex-direction: column;
}

.todos-module .todo-list {
  max-height: 370px;
  overflow-y: auto;
}

.todos-module .todo-list-card {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.todos-module .todo-list-card .ant-card-body {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}

.section-title .ant-typography {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.section-icon {
  margin-right: 8px;
  font-size: 18px;
}

.message-list-card,
.todo-list-card {
  border-radius: 12px;
  border: 1px solid #e8e8e8;
}

.loading-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  gap: 16px;
}

/* ==================== 消息列表 ==================== */
.message-list {
  max-height: 600px;
  overflow-y: auto;
  overflow: hidden;
}

.message-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  border-bottom: 1px solid #f0f0f0;
  transition: all 0.3s ease;
  cursor: pointer;
}

.message-item:last-child {
  border-bottom: none;
}

.message-item:hover {
  background: #f5f7fa;
}

.message-icon {
  font-size: 24px;
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f5f7fa;
  border-radius: 8px;
}

.message-content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
}

.message-header {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  min-width: 200px;
}

.message-title {
  font-size: 15px;
  color: #333;
  flex: 1;
  min-width: 0;
}

.message-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.message-status {
  font-size: 12px;
}

.message-time {
  font-size: 12px;
  color: #999;
  white-space: nowrap;
}

.message-desc {
  margin: 0 !important;
  color: #666 !important;
  font-size: 13px;
  line-height: 1.5;
  flex: 1;
  min-width: 0;
}

.message-actions {
  display: flex;
  gap: 8px;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.message-item:hover .message-actions {
  opacity: 1;
}

/* ==================== 待办列表 ==================== */
.todo-list {
  max-height: 600px;
  overflow-y: auto;
  overflow: hidden;
}

.todo-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 20px;
  border-bottom: 1px solid #f0f0f0;
  transition: all 0.3s ease;
  cursor: pointer;
}

.todo-item:last-child {
  border-bottom: none;
}

.todo-item:hover {
  background: #f5f7fa;
}

.todo-item.overdue {
  background: linear-gradient(90deg, rgba(255, 77, 79, 0.05) 0%, transparent 100%);
  border-left: 3px solid #ff4d4f;
}

.todo-content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.todo-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.todo-title {
  font-size: 15px;
  color: #333;
  flex: 1;
  min-width: 0;
}

.todo-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.todo-status {
  font-size: 12px;
}

.todo-time {
  font-size: 12px;
  color: #999;
  white-space: nowrap;
}

.todo-bottom {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.todo-desc {
  margin: 0 !important;
  color: #666 !important;
  font-size: 13px;
  line-height: 1.5;
  flex: 1;
  min-width: 0;
}

.todo-priority {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.todo-type {
  font-size: 12px;
}

.todo-actions {
  display: flex;
  gap: 8px;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.todo-item:hover .todo-actions {
  opacity: 1;
}

/* ==================== 响应式 ==================== */
@media (min-width: 1201px) and (max-width: 1600px) {
  .content-section {
    grid-template-columns: 60% 40% !important;
  }
  .conversation-container {
    max-height: calc(100vh - 150px);
  }
  .messages-module,
  .todos-module {
    min-height: 250px;
  }
}

@media (max-width: 1200px) {
  .content-section {
    grid-template-columns: 1fr !important;
  }
  .content-right-wrapper {
    margin-top: 24px;
    padding-right: 0;
  }
  .conversation-container {
    max-height: 500px;
  }
  .messages-module,
  .todos-module {
    min-height: 220px;
  }
}

@media (max-width: 768px) {
  .crm-message-home {
    padding: 16px;
    height: calc(100vh - 50px);
  }
  .conversation-container {
    max-height: 400px;
  }
  .chat-message-content {
    max-width: 80%;
  }
  .messages-module,
  .todos-module {
    min-height: 200px;
    max-height: none;
  }
  .pie-chart-container {
    height: 200px;
  }
}

/* ==================== 消息详情 ==================== */
.message-detail-content {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.detail-header {
  padding-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
}

.detail-body {
  flex: 1;
}

.detail-content {
  font-size: 15px;
  line-height: 1.8;
  color: #333;
  background: #f5f7fa;
  padding: 20px;
  border-radius: 8px;
  min-height: 100px;
  white-space: pre-wrap;
  word-wrap: break-word;
}

.detail-related {
  margin-top: 24px;
}

.detail-json {
  background: #f5f7fa;
  padding: 16px;
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.6;
  color: #666;
  max-height: 300px;
  overflow-y: auto;
  font-family: "Courier New", Courier, monospace;
}

.detail-actions {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid #f0f0f0;
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}
/* 文件管理系统布局样式 */
.file-management-layout {
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow: hidden;
  background-color: #f5f5f5;
}

/* 顶部导航栏 */
.fm-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 50px;
  padding: 0 16px;
  background-color: #fff;
  border-bottom: 1px solid #e8e8e8;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  z-index: 100;
}

.fm-header-left {
  display: flex;
  align-items: center;
  gap: 16px;
}

.fm-menu-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s;
  font-size: 16px;
  color: #666;
}

.fm-menu-toggle:hover {
  background-color: #f0f0f0;
}

.fm-header-logo {
  display: flex;
  align-items: center;
  gap: 8px;
}

.fm-header-logo-img {
  height: 28px;
  width: auto;
}

.fm-header-logo-text {
  font-size: 18px;
  font-weight: 600;
  color: #333;
}

.fm-header-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

.fm-header-user {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 12px;
  border-radius: 4px;
  background-color: #f5f5f5;
}

.fm-header-user-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 500;
}

.fm-header-user-name {
  font-size: 13px;
  color: #333;
}

.fm-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.fm-header-action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 4px;
  background-color: transparent;
  cursor: pointer;
  transition: all 0.3s;
  font-size: 18px;
  color: #666;
}

.fm-header-action-btn:hover {
  background-color: #f0f0f0;
  color: #333;
}

.fm-header-action-btn.logout:hover {
  background-color: #fff1f0;
  color: #ff4d4f;
}

/* 主体内容区 */
.fm-body {
  display: flex;
  flex: 1;
  overflow: hidden;
}

/* 左侧边栏 */
.fm-sidebar {
  width: 240px;
  max-width: 240px;
  min-width: 240px;
  background-color: #fff;
  border-right: 1px solid #e8e8e8;
  transition: width 0.3s;
  display: flex;
  flex-direction: column;
}

.fm-sidebar.collapsed {
  min-width: 0;
  max-width: 0;
  width: 0;
  border-right: none;
  overflow: hidden;
  transition: width 0.3s ease, max-width 0.3s ease, min-width 0.3s ease;
}

/* 侧边栏菜单 */
.fm-sidebar-menu {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 8px;
}

.fm-sidebar-menu::-webkit-scrollbar {
  width: 4px;
}

.fm-sidebar-menu::-webkit-scrollbar-track {
  background: transparent;
}

.fm-sidebar-menu::-webkit-scrollbar-thumb {
  background: #e8e8e8;
  border-radius: 2px;
}

/* 覆盖 Ant Design Menu 默认样式 */
.fm-sidebar-menu .ant-menu {
  background: transparent !important;
}

.fm-sidebar-menu .ant-menu-item {
  margin: 4px 0 !important;
  border-radius: 8px !important;
  transition: all 0.3s ease !important;
}

.fm-sidebar-menu .ant-menu-item:hover {
  background: #f5f5f5 !important;
}

.fm-sidebar-menu .ant-menu-item-selected {
  background: #e6f7ff !important;
}

.fm-sidebar-menu .ant-menu-item-selected .anticon {
  color: #1890ff !important;
}

/* 主内容区 */
.fm-main-content {
  flex: 1;
  overflow: auto;
  background-color: #f5f5f5;
}/* 文件管理系统首页样式 - 参考 crm-message */

.fm-home {
  height: calc(100vh - 50px);
  background: linear-gradient(135deg, #f5f7fa 0%, #e8ecf1 100%);
  padding: 24px;
  box-sizing: border-box;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* ==================== 统计卡片区域 ==================== */
.fm-home-statistics {
  margin-bottom: 24px;
  flex-shrink: 0;
}

.fm-statistic-card {
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  height: 100%;
}

.fm-statistic-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.fm-statistic-content {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 8px 4px;
}

.fm-statistic-icon {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  flex-shrink: 0;
  transition: all 0.3s ease;
}

.fm-statistic-card:hover .fm-statistic-icon {
  transform: scale(1.1) rotate(5deg);
}

.fm-statistic-info {
  flex: 1;
  min-width: 0;
}

.fm-statistic-label {
  font-size: 14px;
  color: #666;
  margin-bottom: 8px;
  font-weight: 500;
}

.fm-statistic-value {
  font-size: 28px;
  font-weight: 700;
  color: #333;
  display: flex;
  align-items: baseline;
  gap: 4px;
}

.fm-statistic-suffix {
  font-size: 14px;
  color: #999;
  font-weight: 400;
}

/* ==================== AI 助手聊天区域 ==================== */
.fm-home-chat-section {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.fm-chat-card {
  flex: 1;
  height: 100%;
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.fm-chat-header {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 600;
  color: #333;
}

.fm-chat-icon {
  font-size: 20px;
  color: #667eea;
}

.fm-chat-title {
  font-weight: 600;
}

/* 聊天容器样式覆盖 */
.fm-chat-card .chat-container {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
  width: 100%;
  max-width: none;
  margin: 0;
}

.fm-chat-card .chat-messages {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 20px 40px;
  scrollbar-width: thin;
  scrollbar-color: #d9d9d9 transparent;
}

.fm-chat-card .chat-messages::-webkit-scrollbar {
  width: 6px;
}

.fm-chat-card .chat-messages::-webkit-scrollbar-track {
  background: transparent;
}

.fm-chat-card .chat-messages::-webkit-scrollbar-thumb {
  background: #d9d9d9;
  border-radius: 3px;
}

/* 空状态欢迎内容 */
.fm-chat-card .chat-messages-empty {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.fm-chat-card .welcome-input-header {
  text-align: center;
  margin-bottom: 24px;
  animation: fadeIn 0.5s ease-out;
}

.fm-chat-card .welcome-input-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 20px;
  object-fit: contain;
  animation: float 3s ease-in-out infinite;
}

@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fm-chat-card .welcome-input-title {
  font-size: 24px;
  font-weight: 700;
  color: #1a1a2e;
  margin-bottom: 12px;
}

.fm-chat-card .welcome-input-subtitle {
  font-size: 14px;
  color: #666;
  max-width: 500px;
  margin: 0 auto;
}

/* 快捷操作按钮 */
.fm-chat-card .quick-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-top: 24px;
  flex-wrap: wrap;
}

.fm-chat-card .quick-action-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: #ffffff;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 13px;
  color: #333;
}

.fm-chat-card .quick-action-btn:hover {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #ffffff;
  border-color: transparent;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}

.fm-chat-card .quick-action-icon {
  font-size: 16px;
}

/* 输入框区域 */
.fm-chat-card .home-input-section {
  flex-shrink: 0;
  padding: 16px 20px;
}

.fm-chat-card .home-input-wrapper {
  max-width: 100%;
}

/* 响应式 */
@media (max-width: 768px) {
  .fm-home {
    padding: 16px;
  }

  .fm-statistic-content {
    padding: 4px;
  }

  .fm-statistic-icon {
    width: 48px;
    height: 48px;
    font-size: 20px;
  }

  .fm-statistic-value {
    font-size: 24px;
  }

  .fm-chat-card .chat-messages {
    padding: 16px 20px;
  }

  .fm-chat-card .quick-actions {
    gap: 8px;
  }

  .fm-chat-card .quick-action-btn {
    padding: 8px 12px;
    font-size: 12px;
  }
}/* 公司列表页面
   视觉风格与「知识产权贯标全流程」9 个原型页面统一（见 ip/ipShared.css 的 .ip-themed）
   所有规则均限定在 .company-list-page 内，不污染其他页面 */

.company-list-page {
  padding: 18px 22px 40px;
}

/* ========== 筛选区域：左视图卡片 + 右条件卡片 ========== */
.company-list-page .filter-section {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 0;
  background: transparent;
  border-radius: 0;
}

/* 左侧视图 */
.company-list-page .filter-left {
  flex: 0 0 190px;
  width: 190px;
  padding: 0;
  margin: 0;
}

.company-list-page .my-views {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 10px;
  margin: 0;
}

.company-list-page .view-title {
  font-size: 11px;
  font-weight: 400;
  color: var(--text-3);
  letter-spacing: .5px;
  padding: 8px 10px 6px;
  margin-bottom: 0;
}

.company-list-page .view-item {
  display: block;
  padding: 8px 10px;
  border-radius: 7px;
  font-size: 13px;
  color: var(--text-2);
  cursor: pointer;
  margin-bottom: 2px;
  border-left: none;
  transition: background-color .15s, color .15s;
}

.company-list-page .view-item:hover {
  background: #f6f8fc;
  color: var(--text);
}

.company-list-page .view-item.active {
  background: var(--primary-light);
  color: var(--primary-dark);
  font-weight: 500;
}

/* 右侧筛选条件 */
.company-list-page .filter-right {
  flex: 1;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 16px;
}

.company-list-page .filter-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}

.company-list-page .filter-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--text);
}

.company-list-page .filter-title-bar {
  display: inline-block;
  width: 3px;
  height: 13px;
  background: var(--primary);
  border-radius: 2px;
}

.company-list-page .filter-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.company-list-page .filter-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 0;
  min-height: 32px;
}

.company-list-page .filter-label {
  flex-shrink: 0;
  width: 84px;
  font-size: 12.5px;
  color: var(--text-3);
  line-height: 32px;
}

.company-list-page .filter-value {
  flex: 1;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.company-list-page .filter-tags-wrapper {
  flex: 1;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.company-list-page .selected-filter-tag {
  margin: 0;
}

.company-list-page .reset-filters-btn {
  padding: 0 4px;
  font-size: 12px;
}

/* ========== 搜索和操作区域 ========== */
.company-list-page .search-action-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin: 14px 0;
}

.company-list-page .search-box {
  flex: 1;
  max-width: 400px;
}

.company-list-page .action-buttons {
  display: flex;
  gap: 8px;
}

/* ========== 表格区域 ========== */
.company-list-page .table-section {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
}

/* ========== 响应式 ========== */
@media (max-width: 768px) {
  .company-list-page {
    padding: 14px;
  }

  .company-list-page .filter-section {
    flex-direction: column;
  }

  .company-list-page .filter-left {
    width: 100%;
    flex: 1 1 auto;
  }

  .company-list-page .search-action-section {
    flex-direction: column;
    align-items: stretch;
  }

  .company-list-page .search-box {
    max-width: 100%;
  }
}
/* ============================================================
   知识产权贯标原型风格 · 共享样式
   在页面根节点加 class="ip-themed" 即获得与 ip/ 目录 9 个原型页面
   一致的设计令牌与组件外观（公司列表 / 模版管理共用）
   所有规则均带 .ip-themed 前缀，不影响其他页面
   ============================================================ */

.ip-themed{
  --primary:#2f6bf0; --primary-dark:#1f52c4; --primary-light:#eaf0fe; --primary-border:#c9dbfd;
  --text:#1f2430; --text-2:#5f6879; --text-3:#98a1b0;
  --border:#e6e9f0; --border-2:#eef1f7; --bg:#f4f6fa; --white:#fff;
  --green:#12873f; --green-bg:#e8f6ec; --amber:#b57209; --amber-bg:#fdf3e0;
  --red:#c62a2a; --red-bg:#fdecec; --purple:#5a3fc0; --purple-bg:#efeafe;
  --radius:10px;
  font-family:"PingFang SC","Microsoft YaHei",-apple-system,"Segoe UI",sans-serif;
  font-size:13px;
  color:var(--text);
  background:var(--bg);
  min-height:100%;
  -webkit-font-smoothing:antialiased;
}

/* ---------- 卡片 ---------- */
.ip-themed .ip-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
}
.ip-themed .ip-card-h{
  padding:13px 16px;
  border-bottom:1px solid var(--border-2);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.ip-themed .ip-card-h h3{
  font-size:13.5px;
  font-weight:500;
  color:var(--text);
  margin:0;
  line-height:1.4;
}
.ip-themed .ip-card-h .sub{font-size:12px;color:var(--text-3)}
.ip-themed .ip-card-b{padding:16px}

/* 小色条标题（对应原型的 filter-title 风格） */
.ip-themed .ip-title{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13.5px;
  font-weight:500;
  color:var(--text);
}
.ip-themed .ip-title-bar{
  display:inline-block;
  width:3px;
  height:13px;
  background:var(--primary);
  border-radius:2px;
}
.ip-themed .ip-sub{font-size:12px;color:var(--text-3)}

/* ---------- 标签 / 链接 ---------- */
.ip-themed .ant-tag{
  border:none;
  border-radius:5px;
  font-size:12px;
  line-height:18px;
  padding:0 8px;
  margin-inline-end:6px;
}
.ip-themed .ant-tag-blue{background:var(--primary-light);color:var(--primary-dark)}
.ip-themed .ant-tag-geekblue,.ip-themed .ant-tag-processing{background:var(--primary-light);color:var(--primary-dark)}
.ip-themed .ant-tag-green,.ip-themed .ant-tag-success{background:var(--green-bg);color:var(--green)}
.ip-themed .ant-tag-orange,.ip-themed .ant-tag-gold,.ip-themed .ant-tag-warning{background:var(--amber-bg);color:var(--amber)}
.ip-themed .ant-tag-red,.ip-themed .ant-tag-volcano,.ip-themed .ant-tag-error{background:var(--red-bg);color:var(--red)}
.ip-themed .ant-tag-purple{background:var(--purple-bg);color:var(--purple)}
.ip-themed .ant-tag-default,.ip-themed .ant-tag-cyan{background:#f1f3f7;color:var(--text-2)}
.ip-themed .ant-btn-link{color:var(--primary);padding-inline:6px}
.ip-themed .ant-btn-link:not(:disabled):hover{color:var(--primary-dark)}

/* ---------- 按钮（对齐原型 .btn / .btn.pri：圆角 7px、字号 12.5px） ---------- */
.ip-themed .ant-btn{
  border-radius:7px;
  font-size:12.5px;
  box-shadow:none;
}
.ip-themed .ant-btn-sm{border-radius:6px;font-size:12px}
.ip-themed .ant-btn-primary{
  background:var(--primary);
  border-color:var(--primary);
}
.ip-themed .ant-btn-primary:not(:disabled):not(.ant-btn-disabled):hover{
  background:var(--primary-dark);
  border-color:var(--primary-dark);
}
.ip-themed .ant-btn-default{
  border-color:var(--border);
  color:var(--text);
}
.ip-themed .ant-btn-default:not(:disabled):not(.ant-btn-disabled):hover{
  border-color:var(--primary-border);
  color:var(--primary-dark);
}
.ip-themed .ant-btn-dangerous:not(:disabled):hover{border-color:var(--red);color:var(--red)}

/* ---------- 表格微调 ---------- */
.ip-themed .ant-table-thead > tr > th{
  background:#fafbfd !important;
  color:var(--text-2) !important;
  font-weight:500 !important;
  font-size:12.5px !important;
  text-align:left !important;
  padding:9px 12px !important;
  border-bottom:1px solid var(--border) !important;
}
.ip-themed .ant-table-thead > tr > th.ant-table-selection-column{text-align:center !important}
.ip-themed .ant-table-tbody > tr > td{
  padding:11px 12px !important;
  border-bottom:1px solid var(--border-2) !important;
}
.ip-themed .ant-table-tbody > tr:last-child > td{border-bottom:0 !important}
.ip-themed .ant-table-tbody > tr.ant-table-placeholder > td{border-bottom:0 !important}
.ip-themed .ant-table-tbody > tr.ant-table-measure-row > td{padding:0 !important;border-bottom:0 !important}
.ip-themed .ant-table-wrapper .ant-table{border-radius:var(--radius)}
.ip-themed .ant-table-tbody .ant-table-cell-fix-right{background:var(--white)}
.ip-themed .ant-table-tbody > tr:hover > .ant-table-cell-fix-right{background:#fbfcfe}

/* ---------- 分页 ---------- */
.ip-themed .ant-pagination{font-size:12.5px}
.ip-themed .ant-pagination .ant-pagination-item,
.ip-themed .ant-pagination .ant-pagination-prev .ant-pagination-item-link,
.ip-themed .ant-pagination .ant-pagination-next .ant-pagination-item-link{
  border-radius:7px;
}
.ip-themed .ant-pagination .ant-pagination-options .ant-select-selector{border-radius:7px}

/* ---------- 表单控件 ---------- */
.ip-themed .ant-input-affix-wrapper,
.ip-themed .ant-input,
.ip-themed .ant-select .ant-select-selector,
.ip-themed .ant-picker{
  border-color:var(--border);
  border-radius:7px;
}
.ip-themed .ant-input-affix-wrapper:hover,
.ip-themed .ant-input:hover,
.ip-themed .ant-select:not(.ant-select-disabled):hover .ant-select-selector{
  border-color:var(--primary-border);
}
.ip-themed .ant-input-affix-wrapper-focused,
.ip-themed .ant-input:focus,
.ip-themed .ant-select-focused .ant-select-selector{
  border-color:var(--primary);
  box-shadow:0 0 0 2px rgba(47,107,240,.08);
}

/* ---------- 树 ---------- */
.ip-themed .ant-tree{
  background:transparent;
  font-size:13px;
}
.ip-themed .ant-tree .ant-tree-node-content-wrapper{
  border-radius:7px;
  color:var(--text-2);
}
.ip-themed .ant-tree .ant-tree-node-content-wrapper:hover{background:#f6f8fc;color:var(--text)}
.ip-themed .ant-tree .ant-tree-node-selected{
  background:var(--primary-light) !important;
  color:var(--primary-dark) !important;
  font-weight:500;
}

/* ---------- 抽屉 / 弹窗 ---------- */
.ip-themed.ant-drawer .ant-drawer-header,
.ip-themed .ant-drawer-header{
  padding:13px 16px;
  border-bottom:1px solid var(--border-2);
}
.ip-themed .ant-drawer-title{font-size:13.5px;font-weight:500;color:var(--text)}
.ip-themed .ant-drawer-body{padding:16px;font-size:13px}

/* ---------- 时间轴 ---------- */
.ip-themed .ant-timeline .ant-timeline-item-head{border-width:2px}
.enterprise-form-modal .form-section {
  margin-bottom: 24px;
  padding: 16px;
  background: #fafafa;
  border-radius: 4px;
}

.enterprise-form-modal .form-section-title {
  font-size: 15px;
  font-weight: 600;
  color: #333;
  margin-bottom: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e8e8e8;
}

.enterprise-form-modal .form-section-subtitle {
  font-size: 14px;
  font-weight: 500;
  color: #666;
  margin: 16px 0 12px;
}

.enterprise-form-modal .confirm-section {
  margin-bottom: 16px;
  max-height: 400px;
  overflow-y: auto;
}

.enterprise-form-modal .confirm-section-title {
  font-size: 14px;
  font-weight: 600;
  color: #333;
  margin-bottom: 12px;
}

.enterprise-form-modal .confirm-item {
  display: flex;
  margin-bottom: 8px;
  font-size: 13px;
}

.enterprise-form-modal .confirm-label {
  color: #999;
  min-width: 200px;
}

.enterprise-form-modal .confirm-value {
  color: #333;
  flex: 1;
}/* 分类树节点标题：左名称 + 右数量（模板管理页 / 企业生成记录页共用） */

.doc-tree-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
}

.doc-tree-title-text {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.doc-tree-title-count {
  flex: 0 0 auto;
  color: #8c8c8c;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

/* 选中态下数量改用主题色，保证对比度 */
.ant-tree-node-selected .doc-tree-title-count {
  color: #1677ff;
}

/* ------------------------------------------------------------------ *
 * 分类树通用外观（DOM 容器加 .doc-class-tree 即可复用）
 *   模版管理页：<aside className="template-class-tree doc-class-tree">
 *   企业详情·生成记录：<aside className="generation-class-tree doc-class-tree">
 * 样式只依赖容器类、与页面无关；容器自身的宽度 / 边框 / 定位留在各页 CSS。
 * ------------------------------------------------------------------ */

.doc-class-tree .ant-tree {
  background: transparent;
  font-size: 14px;
}

/* 行占满整行，保证「名称 + 数量」左右分布 */
.doc-class-tree .ant-tree-node-content-wrapper,
.doc-class-tree .doc-tree-title {
  width: 100%;
}

.doc-class-tree .ant-tree-treenode {
  position: relative;
  width: 100%;
  padding: 2px 4px 2px 0;
  border-radius: 6px;
}

.doc-class-tree .ant-tree-indent-unit {
  width: 16px;
}

.doc-class-tree .ant-tree-node-content-wrapper {
  flex: 1 1 auto;
  min-width: 0;
  padding: 6px 8px;
  border-radius: 6px;
  line-height: 22px;
  font-size: 14px;
  transition: background-color 0.2s, color 0.2s;
}

.doc-class-tree .ant-tree-node-content-wrapper:hover {
  background: #f0f5ff;
}

/* 选中态：浅蓝底 + 蓝字 */
.doc-class-tree .ant-tree-node-content-wrapper.ant-tree-node-selected {
  background: #e8f0fe;
}

.doc-class-tree .ant-tree-treenode-selected .ant-tree-node-content-wrapper,
.doc-class-tree .ant-tree-node-selected .doc-tree-title-text {
  color: #1677ff;
  font-weight: 500;
}

/* 选中行右缘的蓝色竖条 */
.doc-class-tree .ant-tree-treenode-selected::after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 20px;
  border-radius: 2px;
  background: #1677ff;
}

/* 数量：浅灰、右对齐 */
.doc-class-tree .doc-tree-title-count {
  color: #bfbfbf;
  font-size: 13px;
}

/* 分组节点（体系文件 / 记录表单）名称加粗 */
.doc-class-tree .doc-tree-title-group .doc-tree-title-text {
  font-weight: 600;
  color: #333;
}
.enterprise-detail-modal .ant-modal-body {
  height: 70vh;
  max-height: 70vh;
  overflow: hidden;
  padding: 0;
}

.enterprise-detail-modal .ant-tabs {
  height: 100%;
}

.enterprise-detail-modal .ant-tabs-content {
  height: calc(70vh - 55px);
  /* 滚动统一交给 .ant-tabs-tabpane，避免出现嵌套双层滚动条 */
  overflow: hidden;
}

.enterprise-detail-modal .ant-tabs-tabpane {
  height: 100%;
  overflow-y: auto;
}

.enterprise-detail-modal .ant-descriptions {
  margin: 16px;
}

.related-files {
  padding: 16px;
}

.file-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid #f0f0f0;
}

.file-item:last-child {
  border-bottom: none;
}

.file-name {
  color: #333;
}

.file-link {
  color: #1890ff;
}

/* 生成记录列表样式 */
.generation-list-container {
  min-height: 100%;
  padding: 16px;
}

.generation-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

/* 生成记录模糊搜索框 */
.generation-search {
  flex: 0 0 auto;
  width: 260px;
  max-width: 100%;
}

/* 生成记录：左分类树 + 右表格 */
.generation-body {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

.generation-class-tree {
  flex: 0 0 200px;
  width: 200px;
  border: 1px solid #f0f0f0;
  border-radius: 8px;
  padding: 12px 8px;
  background: #fafafa;
}

.generation-class-tree .tree-header {
  font-size: 13px;
  font-weight: 600;
  color: #333;
  padding: 4px 8px 10px;
  display: flex;
  align-items: center;
  gap: 6px;
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 8px;
}

/* 树外观见 DocClassTreeTitle.css 的 .doc-class-tree（与模版管理页共用） */

.generation-main {
  flex: 1 1 auto;
  min-width: 0;
}

.generation-summary {
  font-size: 12px;
  color: #8c8c8c;
  margin-bottom: 8px;
}

/* 只保留外层（弹窗 Tab）滚动：表格自身不再设 y 滚动，去掉固定高度 */
.generation-list-container .ant-table {
  font-size: 13px;
}

.generation-list-container .ant-table-thead > tr > th {
  background: #fafafa;
  font-weight: 600;
}

/* 生成记录列表文件操作按钮样式 - 去除左右 padding */
.generation-list-container .action-btn-compact,
.enterprise-detail-modal .action-btn-compact {
  padding-left: 4px;
  padding-right: 4px;
  font-size: 13px;
}

/* 详细信息 4 列布局样式 */
.enterprise-detail-modal .detail-4-col .ant-descriptions-row > td {
  width: 25%;
}

/* Markdown 内容预览样式 */
.enterprise-detail-modal .markdown-content {
  word-wrap: break-word;
  word-break: break-word;
}

.enterprise-detail-modal .markdown-content h1,
.enterprise-detail-modal .markdown-content h2,
.enterprise-detail-modal .markdown-content h3,
.enterprise-detail-modal .markdown-content h4,
.enterprise-detail-modal .markdown-content h5,
.enterprise-detail-modal .markdown-content h6 {
  margin-top: 24px;
  margin-bottom: 16px;
  font-weight: 600;
  line-height: 1.25;
}

.enterprise-detail-modal .markdown-content h1 {
  font-size: 24px;
}

.enterprise-detail-modal .markdown-content h2 {
  font-size: 20px;
}

.enterprise-detail-modal .markdown-content h3 {
  font-size: 16px;
}

.enterprise-detail-modal .markdown-content p {
  margin-top: 16px;
  margin-bottom: 16px;
}

.enterprise-detail-modal .markdown-content code {
  padding: 0.2em 0.4em;
  margin: 0;
  font-size: 85%;
  white-space: break-spaces;
  background-color: rgba(175, 184, 193, 0.2);
  border-radius: 6px;
  font-family: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
}

.enterprise-detail-modal .markdown-content pre {
  padding: 16px;
  overflow: auto;
  font-size: 85%;
  line-height: 1.45;
  background-color: #f6f8fa;
  border-radius: 6px;
}

.enterprise-detail-modal .markdown-content pre code {
  display: inline;
  max-width: auto;
  padding: 0;
  margin: 0;
  overflow: visible;
  line-height: inherit;
  word-wrap: normal;
  background-color: transparent;
  border: 0;
}

.enterprise-detail-modal .markdown-content blockquote {
  padding: 0 1em;
  color: #656d76;
  border-left: 0.25em solid #d0d7de;
  margin: 16px 0;
}

.enterprise-detail-modal .markdown-content ul,
.enterprise-detail-modal .markdown-content ol {
  padding-left: 2em;
  margin-top: 16px;
  margin-bottom: 16px;
}

.enterprise-detail-modal .markdown-content table {
  border-spacing: 0;
  border-collapse: collapse;
  margin-top: 16px;
  margin-bottom: 16px;
  display: block;
  width: max-content;
  max-width: 100%;
  overflow: auto;
}

.enterprise-detail-modal .markdown-content table th,
.enterprise-detail-modal .markdown-content table td {
  padding: 6px 13px;
  border: 1px solid #d0d7de;
}

.enterprise-detail-modal .markdown-content table tr {
  background-color: #fff;
  border-top: 1px solid #c6cbd1;
}

.enterprise-detail-modal .markdown-content table tr:nth-child(2n) {
  background-color: #f6f8fa;
}

/* HTML 表格增强样式 - 支持原生 HTML 表格标签 */
.enterprise-detail-modal .markdown-content table[border] {
  border: 1px solid #d0d7de;
}

.enterprise-detail-modal .markdown-content table[border] th,
.enterprise-detail-modal .markdown-content table[border] td {
  border: 1px solid #d9d9d9;
  padding: 8px 12px;
}

.enterprise-detail-modal .markdown-content table[border] th {
  background-color: #fafafa;
  font-weight: 500;
  text-align: left;
}

.enterprise-detail-modal .markdown-content table[border] td {
  background-color: #fff;
}

.enterprise-detail-modal .markdown-content table[border] tr:nth-child(2n) {
  background-color: #fff;
}

.enterprise-detail-modal .markdown-content table[border] tr:hover {
  background-color: #f5f5f5;
}
/*!
 * @toast-ui/editor
 * @version 3.2.2 | Fri Feb 17 2023
 * @author NHN Cloud FE Development Lab <dl_javascript@nhn.com>
 * @license MIT
 */
.ProseMirror {
  position: relative;
}

.ProseMirror {
  word-wrap: break-word;
  white-space: pre-wrap;
  white-space: break-spaces;
  -webkit-font-variant-ligatures: none;
  font-variant-ligatures: none;
  font-feature-settings: "liga" 0; /* the above doesn't seem to work in Edge */
}

.ProseMirror pre {
  white-space: pre-wrap;
}

.ProseMirror li {
  position: relative;
}

.ProseMirror-hideselection *::selection { background: transparent; }
.ProseMirror-hideselection *::-moz-selection { background: transparent; }
.ProseMirror-hideselection { caret-color: transparent; }

.ProseMirror-selectednode {
  outline: 2px solid #8cf;
}

/* Make sure li selections wrap around markers */

li.ProseMirror-selectednode {
  outline: none;
}

li.ProseMirror-selectednode:after {
  content: "";
  position: absolute;
  left: -32px;
  right: -2px; top: -2px; bottom: -2px;
  border: 2px solid #8cf;
  pointer-events: none;
}

/* Protect against generic img rules */

img.ProseMirror-separator {
  display: inline !important;
  border: none !important;
  margin: 0 !important;
}

/* height */
.auto-height,
.auto-height .toastui-editor-defaultUI {
  height: auto;
}

.auto-height .toastui-editor-md-container {
  position: relative;
}

:not(.auto-height) > .toastui-editor-defaultUI,
:not(.auto-height) > .toastui-editor-defaultUI > .toastui-editor-main {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
}

:not(.auto-height) > .toastui-editor-defaultUI > .toastui-editor-main {
  -ms-flex: 1;
  flex: 1;
}

/* toastui editor */
.toastui-editor-md-container::after,
.toastui-editor-defaultUI-toolbar::after {
  content: '';
  display: block;
  height: 0;
  clear: both;
}


.toastui-editor-main {
  min-height: 0px;
  position: relative;
  height: inherit;
  box-sizing: border-box;
}

.toastui-editor-md-container {
  display: none;
  overflow: hidden;
  height: 100%;
}

.toastui-editor-md-container .toastui-editor {
  line-height: 1.5;
  position: relative;
}

.toastui-editor-md-container .toastui-editor,
.toastui-editor-md-container .toastui-editor-md-preview {
  box-sizing: border-box;
  padding: 0;
  height: inherit;
}

.toastui-editor-md-container .toastui-editor-md-preview {
  overflow: auto;
  padding: 0 25px;
  height: 100%;
}

.toastui-editor-md-container .toastui-editor-md-preview > p:first-child {
  margin-top: 0 !important;
}

.toastui-editor-md-container .toastui-editor-md-preview .toastui-editor-contents {
  padding-top: 8px;
}

.toastui-editor-main .toastui-editor-md-tab-style > .toastui-editor,
.toastui-editor-main .toastui-editor-md-tab-style > .toastui-editor-md-preview {
  width: 100%;
  display: none;
}

.toastui-editor-main .toastui-editor-md-tab-style > .active {
  display: block;
}

.toastui-editor-main .toastui-editor-md-vertical-style > .toastui-editor-tabs {
  display: none;
}

.toastui-editor-main .toastui-editor-md-tab-style > .toastui-editor-tabs {
  display: block;
}

.toastui-editor-main .toastui-editor-md-vertical-style .toastui-editor {
  width: 50%;
}

.toastui-editor-main .toastui-editor-md-vertical-style .toastui-editor-md-preview {
  width: 50%;
}

.toastui-editor-main .toastui-editor-md-splitter {
  display: none;
  height: 100%;
  width: 1px;
  background-color: #ebedf2;
  position: absolute;
  left: 50%;
}

.toastui-editor-main .toastui-editor-md-vertical-style .toastui-editor-md-splitter {
  display: block;
}

.toastui-editor-ww-container {
  display: none;
  overflow: hidden;
  height: inherit;
  background-color: #fff;
}

.auto-height .toastui-editor-main-container {
  position: relative;
}

.toastui-editor-main-container {
  position: absolute;
  line-height: 1;
  color: #222;
  width: 100%;
  height: inherit;
}

.toastui-editor-ww-container > .toastui-editor {
  height: inherit;
  position: relative;
  width: 100%;
}

.toastui-editor-ww-container .toastui-editor-contents {
  overflow: auto;
  box-sizing: border-box;
  margin: 0px;
  padding: 16px 25px 0px 25px;
  height: inherit;
}

.toastui-editor-ww-container .toastui-editor-contents p {
  margin: 0;
}

.toastui-editor-md-mode .toastui-editor-md-container,
.toastui-editor-ww-mode .toastui-editor-ww-container {
  display: block;
  z-index: 20;
}

.toastui-editor-md-mode .toastui-editor-md-vertical-style {
  display: -ms-flexbox;
  display: flex;
}

.toastui-editor-main.hidden,
.toastui-editor-defaultUI.hidden {
  display: none;
}

/* default UI Styles */
.toastui-editor-defaultUI .ProseMirror {
  padding: 18px 25px;
}

.toastui-editor-defaultUI {
  position: relative;
  border: 1px solid #dadde6;
  height: 100%;
  font-family: 'Open Sans', 'Helvetica Neue', 'Helvetica', 'Arial', '나눔바른고딕',
    'Nanum Barun Gothic', '맑은고딕', 'Malgun Gothic', sans-serif;
  border-radius: 4px;
}

.toastui-editor-defaultUI button {
  color: #333;
  height: 28px;
  font-size: 13px;
  cursor: pointer;
  border: none;
  border-radius: 2px;
}

.toastui-editor-defaultUI .toastui-editor-ok-button {
  min-width: 63px;
  height: 32px;
  background-color: #00a9ff;
  color: #fff;
  outline-color: #009bf2;
}

.toastui-editor-defaultUI .toastui-editor-ok-button:hover {
  background-color: #009bf2;
}

.toastui-editor-defaultUI .toastui-editor-close-button {
  min-width: 63px;
  height: 32px;
  background-color: #f7f9fc;
  border: 1px solid #dadde6;
  margin-right: 5px;
  outline-color: #cbcfdb;
}

.toastui-editor-defaultUI .toastui-editor-close-button:hover {
  border-color: #cbcfdb;
}

/* mode switch tab */
.toastui-editor-mode-switch {
  background-color: #fff;
  border-top: 1px solid #dadde6;
  font-size: 12px;
  text-align: right;
  height: 28px;
  padding-right: 10px;
  border-radius: 0 0 3px 3px;
}

.toastui-editor-mode-switch .tab-item {
  display: inline-block;
  width: 96px;
  height: 24px;
  line-height: 24px;
  text-align: center;
  background: #f7f9fc;
  color: #969aa5;
  margin-top: -1px;
  margin-right: -1px;
  cursor: pointer;
  border: 1px solid #dadde6;
  border-radius: 0 0 4px 4px;
  font-weight: 500;
  box-sizing: border-box;
}

.toastui-editor-mode-switch .tab-item.active {
  border-top: 1px solid #fff;
  background-color: #fff;
  color: #555;
}

/* markdown tab */
.toastui-editor-defaultUI .toastui-editor-md-tab-container {
  float: left;
  height: 45px;
  font-size: 13px;
  background: #f7f9fc;
  border-bottom: 1px solid #ebedf2;
  border-top-left-radius: 3px;
}

.toastui-editor-md-tab-container .toastui-editor-tabs {
  margin-left: 15px;
  height: 100%;
}

.toastui-editor-md-tab-container .tab-item {
  display: inline-block;
  width: 70px;
  height: 33px;
  line-height: 33px;
  font-size: 12px;
  font-weight: 500;
  text-align: center;
  background: #eaedf1;
  color: #969aa5;
  cursor: pointer;
  border: 1px solid #dadde6;
  border-radius: 4px 4px 0 0;
  box-sizing: border-box;
  margin-top: 13px;
}

.toastui-editor-md-tab-container .tab-item.active {
  border-bottom: 1px solid #fff;
  background-color: #fff;
  color: #555;
}

.toastui-editor-md-tab-container .tab-item:last-child {
  margin-left: -1px;
}

/* toolbar */
.toastui-editor-defaultUI-toolbar {
  display: -ms-flexbox;
  display: flex;
  padding: 0 25px;
  height: 45px;
  background-color: #f7f9fc;
  border-bottom: 1px solid #ebedf2;
  border-radius: 3px 3px 0 0;
}

.toastui-editor-toolbar {
  height: 46px;
  box-sizing: border-box;
}

.toastui-editor-toolbar-divider {
  display: inline-block;
  width: 1px;
  height: 18px;
  background-color: #e1e3e9;
  margin: 14px 12px;
}

.toastui-editor-toolbar-group {
  display: -ms-flexbox;
  display: flex;
}

.toastui-editor-defaultUI-toolbar button {
  box-sizing: border-box;
  cursor: pointer;
  width: 32px;
  height: 32px;
  padding: 0;
  border-radius: 3px;
  margin: 7px 5px;
  border: 1px solid #f7f9fc;
}

.toastui-editor-defaultUI-toolbar button:not(:disabled):hover {
  border: 1px solid #e4e7ee;
  background-color: #fff;
}

.toastui-editor-defaultUI-toolbar .scroll-sync {
  display: inline-block;
  position: relative;
  width: 70px;
  height: 10px;
  text-align: center;
  line-height: 10px;
  color: #81858f;
  cursor: pointer;
}

.toastui-editor-defaultUI-toolbar .scroll-sync::before {
  content: 'Scroll';
  position: absolute;
  left: 0;
  font-size: 14px;
}

.toastui-editor-defaultUI-toolbar .scroll-sync.active::before {
  color: #00a9ff;
}

.toastui-editor-defaultUI-toolbar .scroll-sync input {
  opacity: 0;
  width: 0;
  height: 0;
}

.toastui-editor-defaultUI-toolbar .switch {
  position: absolute;
  top: 0;
  left: 45px;
  right: 0;
  bottom: 0;
  background-color: #d6d8de;
  -webkit-transition: .4s;
  transition: .4s;
  border-radius: 50px;
}

.toastui-editor-defaultUI-toolbar input:checked + .switch {
  background-color: #acddfa;
}

.toastui-editor-defaultUI-toolbar .switch::before {
  position: absolute;
  content: '';
  height: 14px;
  width: 14px;
  left: 0px;
  bottom: -2px;
  background-color: #94979f;
  -webkit-transition: .4s;
  transition: .4s;
  border-radius: 50%;
}

.toastui-editor-defaultUI-toolbar input:checked + .switch::before {
  background-color: #00a9ff;
  -webkit-transform: translateX(12px);
  -moz-transform: translateX(12px);
  -ms-transform: translateX(12px);
  transform: translateX(12px);
}

.toastui-editor-dropdown-toolbar .scroll-sync {
  margin: 0 5px;
}

.toastui-editor-dropdown-toolbar {
  position: absolute;
  height: 46px;
  z-index: 30;
  border-radius: 2px;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08);
  border: 1px solid #dadde6;
  background-color: #f7f9fc;
  display: -ms-flexbox;
  display: flex;
}

.toastui-editor-toolbar-item-wrapper {
  margin: 7px 5px;
  height: 32px;
  line-height: 32px;
}

/* toolbar popup */
.toastui-editor-popup {
  width: 400px;
  margin-right: auto;
  background: #fff;
  z-index: 30;
  position: absolute;
  border-radius: 2px;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08);
  border: 1px solid #dadde6;
}

.toastui-editor-popup-body {
  padding: 15px;
  font-size: 12px;
}

.toastui-editor-popup-body label {
  font-weight: 600;
  color: #555;
  display: block;
  margin: 20px 0 5px;
}

.toastui-editor-popup-body .toastui-editor-button-container {
  text-align: right;
  margin-top: 20px;
}

.toastui-editor-popup-body input[type='text'] {
  width: calc(100% - 26px);
  height: 30px;
  padding: 0 12px;
  border-radius: 2px;
  border: 1px solid #e1e3e9;
  color: #333;
}

.toastui-editor-popup-body input[type='text']:focus {
  outline: 1px solid #00a9ff;
  border-color: transparent;
}

.toastui-editor-popup-body input[type='text'].disabled {
  background-color: #f7f9fc;
  border-color: #e1e3e9;
  color: #969aa5;
}

.toastui-editor-popup-body input[type='file'] {
  opacity: 0;
  border: none;
  width: 1px;
  height: 1px;
  position: absolute;
  top: 0;
  left: 0;
}

.toastui-editor-popup-body input.wrong,
.toastui-editor-popup-body span.wrong {
  border-color: #fa2828;
}

.toastui-editor-popup-add-link .toastui-editor-popup-body,
.toastui-editor-popup-add-image .toastui-editor-popup-body {
  padding: 0 20px 20px;
}

.toastui-editor-popup-add-image .toastui-editor-tabs {
  margin: 5px 0 10px;
}

.toastui-editor-popup-add-image .toastui-editor-tabs .tab-item {
  display: inline-block;
  width: 60px;
  height: 40px;
  line-height: 40px;
  border-bottom: 1px solid #dadde6;
  color: #333;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;
}

.toastui-editor-popup-add-image .toastui-editor-tabs .tab-item:hover {
  border-bottom: 1px solid #cbcfdb;
}

.toastui-editor-popup-add-image .toastui-editor-tabs .tab-item.active {
  color: #00a9ff;
  border-bottom: 2px solid #00a9ff;
}

.toastui-editor-popup-add-image .toastui-editor-file-name {
  width: 58%;
  display: inline-block;
  border-radius: 2px;
  border: 1px solid #e1e3e9;
  color: #dadde6;
  height: 30px;
  line-height: 30px;
  padding: 0 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
}

.toastui-editor-popup-add-image .toastui-editor-file-name.has-file {
  color: #333;
}

.toastui-editor-popup-add-image .toastui-editor-file-select-button {
  width: 33%;
  margin-left: 5px;
  height: 32px;
  border-radius: 2px;
  border: 1px solid #dadde6;
  background-color: #f7f9fc;
  vertical-align: top;
}

.toastui-editor-popup-add-image .toastui-editor-file-select-button:hover {
  border-color: #cbcfdb;
}

.toastui-editor-popup-add-table {
  width: auto;
}

.toastui-editor-popup-add-table .toastui-editor-table-selection {
  position: relative;
}

.toastui-editor-popup-add-table .toastui-editor-table-cell {
  display: table-cell;
  width: 20px;
  height: 20px;
  border: 1px solid #e1e3e9;
  background: #fff;
  box-sizing: border-box;
}

.toastui-editor-popup-add-table .toastui-editor-table-cell.header {
  background: #f7f9fc;
}

.toastui-editor-popup-add-table .toastui-editor-table-row {
  display: table-row;
}

.toastui-editor-popup-add-table .toastui-editor-table {
  display: table;
  border-collapse: collapse;
}

.toastui-editor-popup-add-table .toastui-editor-table-selection-layer {
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid #00a9ff;
  background: rgba(0, 169, 255, 0.1);
  z-index: 30;
}

.toastui-editor-popup-add-table .toastui-editor-table-description {
  margin: 5px 0 0;
  text-align: center;
  color: #333
}

.toastui-editor-popup-add-heading {
  width: auto;
}

.toastui-editor-popup-add-heading .toastui-editor-popup-body {
  padding: 0;
}

.toastui-editor-popup-add-heading h1,
.toastui-editor-popup-add-heading h2,
.toastui-editor-popup-add-heading h3,
.toastui-editor-popup-add-heading h4,
.toastui-editor-popup-add-heading h5,
.toastui-editor-popup-add-heading h6,
.toastui-editor-popup-add-heading ul,
.toastui-editor-popup-add-heading p {
  padding: 0;
  margin: 0;
}

.toastui-editor-popup-add-heading ul {
  padding: 5px 0;
  list-style: none;
}

.toastui-editor-popup-add-heading ul li {
  padding: 4px 12px;
  cursor: pointer;
}

.toastui-editor-popup-add-heading ul li:hover {
  background-color: #dff4ff;
}

.toastui-editor-popup-add-heading h1 {
  font-size: 24px;
}

.toastui-editor-popup-add-heading h2 {
  font-size: 22px;
}

.toastui-editor-popup-add-heading h3 {
  font-size: 20px;
}

.toastui-editor-popup-add-heading h4 {
  font-size: 18px;
}

.toastui-editor-popup-add-heading h5 {
  font-size: 16px;
}

.toastui-editor-popup-add-heading h6 {
  font-size: 14px;
}

/* table context menu */
.toastui-editor-context-menu {
  position: absolute;
  width: auto;
  min-width: 197px;
  color: #333;
  border-radius: 2px;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08);
  border: 1px solid #dadde6;
  z-index: 30;
  padding: 5px 0;
  background-color: #fff;
}

.toastui-editor-context-menu .menu-group {
  list-style: none;
  border-bottom: 1px solid #ebedf2;
  padding: 0;
  margin: 0;
  font-size: 13px;
}

.toastui-editor-context-menu .menu-group:last-child {
  border-bottom: none !important;
}

.toastui-editor-context-menu .menu-item {
  height: 32px;
  line-height: 32px;
  padding: 0 14px;
  cursor: pointer;
}

.toastui-editor-context-menu span {
  display: inline-block;
}

.toastui-editor-context-menu span::before {
  background: url(data:image/png;base64,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) no-repeat;
  background-size: 466px 146px;
  content: '';
  width: 20px;
  height: 20px;
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
}

.toastui-editor-context-menu .add-row-up::before {
  background-position: 3px -104px;
}

.toastui-editor-context-menu .add-row-down::before {
  background-position: -19px -104px;
}

.toastui-editor-context-menu .remove-row::before {
  background-position: -41px -104px;
}

.toastui-editor-context-menu .add-column-left::before {
  background-position: -63px -104px;
}

.toastui-editor-context-menu .add-column-right::before {
  background-position: -85px -104px;
}

.toastui-editor-context-menu .remove-column::before {
  background-position: -111px -104px;
}

.toastui-editor-context-menu .align-column-left::before {
  background-position: -129px -104px;
}

.toastui-editor-context-menu .align-column-center::before {
  background-position: -151px -104px;
}

.toastui-editor-context-menu .align-column-right::before {
  background-position: -173px -104px;
}

.toastui-editor-context-menu .remove-table::before {
  background-position: -197px -104px;
}

.toastui-editor-context-menu .disabled span::before {
  opacity: 0.3;
}

.toastui-editor-context-menu li:not(.disabled):hover {
  background-color: #dff4ff;
}

.toastui-editor-context-menu li.disabled {
  color: #c9ccd5;
}

.toastui-editor-tooltip {
  position: absolute;
  background-color: #444;
  z-index: 40;
  padding: 4px 7px;
  font-size: 12px;
  border-radius: 3px;
  color: #fff;
  font-family: 'Open Sans', 'Helvetica Neue', 'Helvetica', 'Arial', '나눔바른고딕',
    'Nanum Barun Gothic', '맑은고딕', 'Malgun Gothic', sans-serif;
}

.toastui-editor-tooltip .arrow {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: #444;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: -3px;
  left: 6px;
  z-index: -1;
}

.toastui-editor-toolbar-icons {
  background: url(data:image/png;base64,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) no-repeat;
  background-size: 466px 146px;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
  only screen and (min--moz-device-pixel-ratio: 2),
  only screen and (-o-min-device-pixel-ratio: 2/1),
  only screen and (min-device-pixel-ratio: 2),
  only screen and (min-resolution: 192dpi),
  only screen and (min-resolution: 2dppx) {
  .toastui-editor-toolbar-icons,
  .toastui-editor-context-menu span::before {
    background: url(data:image/png;base64,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P0A9dgflJJi2Szl5led4F57jlvpECs/6vuTjuhR3dAo961VP9UoRby5eaGBuxz2Zy/3pyiWBlJEiA/s5FHaEnU170tGmBChvV5O1/Zske9dQ3upqiLdbfuL3hTpvY+q8m3ELRkrj1xLs36Md8A17jhOutYwTnYufJw89tLmvbxmhJagIVEmgaoW0yvjlXQREQASakkA77LJL42wfGmdpGiktpZBagaFRfQqNsDNGSykNldFTUQ6+3ZQFWEJlRsA6pVmzZjML1sks0hoiosy9vMoqq2wVjg7VEMNQkHbLTzEI7tOqdCoeTd1nn7dK2tjwf2F5Gsro3cVhdS4CItCcBKSQNud9kVQiIAIikIqAjZLSQNu8lGeujZiyW8pvs7mHI6W2tb/tlF28jigvcRfSmLUpw+doZDQvxM0Xb40zpbLKiE03nWtLiOpVRp1A7ZYfl6+4yTPqo5hO4nndFPt4fi+OHTv2Qb5x/Y+4P9lFQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAREQAQ6mYDfyZlX3kVABESgnQgc/WRhlf5F3j6Dvjdw6UT/mnbKm/IiAiIgAiIgAiLQngSkkLbnfVWuREAEOohA7+OFsc8v8w4peN43yfZGlnW/y9t/9kT/2g7CoKyKgAiIgAiIgAi0IIGeFpRZIouACIhA3QSOm1fY4A3f28MiWqXg/fyCyf7CuiMdhQiOmFc4YOEy7zsk/fZhyRe89ww7b8GTI+YXthv0vBO9gjcZ8TdoUBYWer43r8vzzpk1yb+vQWkqmVEmcPQjhY36+rzv0amzI6I0qqy5XC9kdGDumDHeSRdv5T/n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vaXiGC338PM8x9WSftjWO6CWsArTOAKhollR2UwjEc9wdYeNvhHCevQvqneamUs5jzhd3GlMemI2KtUTUyq89dBYDwAArSK8cWt+zbJmtNII6bA8tdAI6TC5wxP7rtbACm97tkR/K+ssVude9DBm+gqV+JM9a3q/rfW7Vklpya19CNCr94HCAFOk3LRd33u1u8vbhSlgLfWJFJ71famHrqt0Z6ivplBf17v2qFIymV1n07LtaITNJW+jus8B3NjU09sxzQZqmWVeETWcACNtV1PespspVUcOKG/XMLpUV0O83fITx3nEo4WNB1d4N+O2Rdw9yc7z+z1GRr/RrCOjSTInuTHq+3naNz3U4dcnXZebCLQDAeo+HSIgAiLQeQTaYZfdI+YV9qGhUrGR0moKqZVGlG2bxnzGaCmloTJ6Ksrotzvv6eisHFunNGvWHiHX64xyzl8eO8bbKhwdqlmUdstPMYjgqwH/9I6mQ/F4OhKYzTvi+F82kzjtksn+3SOuyEEERKApCUghbcrbIqFEQAREIB0BGyXF5+ZlfCdN2S3jvXku2UgpCveJNDxtp+xh64hylNKm/s1jaPYcjYzmSLnJoq5lplSGWVhIY2yuLSGqVxl1MrVbfly+4qZtXnT0Q96kPs/btKvgjUc5fbHH9x6cMdG39Ws6REAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAEREAERAACviiIgAiIgAgMJ7DPPvvshMuNoeueN9xww5zhPnQmAiIgAiIgAiIgAiKQBYGeLCJRHCIgAiLQTgR839++UCiMtzyZHUMKaTvd4AzzctBBB627bNmydxDl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UvksxkDZi5yw9xKm1xzi5RjlMLe10HTi3YPCeTZ1ZPD5F2TYieT/wnPzFPb+vr6+zTDdxmA2a0Yjo3aDdIiACIiACIhADgS6ysRpa5gadTQyrUblqSHp0GgyZTTYwCghwWBNqflJuNZop2rucTV+S+Wjmjiq8VsqvbzdU8tIebDNVtxuusEGRjTArcPi2piQ+9Eg3yN2LqsI1EMgdflMmwhK4ADldgr+o3JLXRaN+DMD5GyU1prXQjMKfarF4eQhbp/fppy/FzOujM4kHU3TdaBkioAIiIAIiEDGBEoqpLaGibQyb2QkyD8qa8Ro7Ng60cX2C+0JojW/E0qF7aAbrRslL2faLyb57qGfmFPjrVWUp0zKQ6PTy5toFfmx0ZzbkMfKdqCMWqMdt+LG/XN8f/E3dch9axjWpgW33QGvtqgfKtyYzO5hNeWzgkzDLlu55XcEv1eHXchgLTRxFsJnYwfsd/GL775rQ7j2fHwGpfgorg1bX1oki05FQAREQAREQAREoHMJMBp2s02Rsx/2MxwJs8fctcuuA9MhJpuxbMrvU8XZtZEfysZetkau+JrORaDZCFBex1OP/drVZUXmNfGRzHpl57lYm867iTw32y5atGi9euNTeBEQAREQAREQgXQEgo+Dp/MqX81IgAbUm2iUXYBs8+nJvyguIw2sYzifRO/+cYwEBN8AiV+XXQREQASalYApo9Rh5dZCm+jX2rTe+Ohms+ZHcomACIiACIiACIiACIiACIiACLQIAUZDvx4fEaXz7SwbEcXtmrg7SuueLZIliSkCIiACIiACIpBAoOQa0gS/chIBERABERCBhhBg1LMRa6EbkhclIgIiIAIiIAIiIAIiIAIiIAIi0GIEtBa6xW6YxBUBERABERABERABERABERABERABERABERABERCBViHw/wHIAHUN1iL6RwAAAABJRU5ErkJggg==) no-repeat;
    background-size: 466px 146px;
  }
}

.toastui-editor-toolbar-icons {
  background-position-y: 3px;
}

.toastui-editor-toolbar-icons:disabled {
  opacity: 0.3;
}

.toastui-editor-toolbar-icons.heading {
  background-position-x: 3px;
}

.toastui-editor-toolbar-icons.bold {
  background-position-x: -23px;
}

.toastui-editor-toolbar-icons.italic {
  background-position-x: -49px;
}

.toastui-editor-toolbar-icons.strike {
  background-position-x: -75px;
}

.toastui-editor-toolbar-icons.hrline {
  background-position-x: -101px;
}

.toastui-editor-toolbar-icons.quote {
  background-position-x: -127px;
}

.toastui-editor-toolbar-icons.bullet-list {
  background-position-x: -153px;
}

.toastui-editor-toolbar-icons.ordered-list {
  background-position-x: -179px;
}

.toastui-editor-toolbar-icons.task-list {
  background-position-x: -205px;
}

.toastui-editor-toolbar-icons.indent {
  background-position-x: -231px;
}

.toastui-editor-toolbar-icons.outdent {
  background-position-x: -257px;
}

.toastui-editor-toolbar-icons.table {
  background-position-x: -283px;
}

.toastui-editor-toolbar-icons.image {
  background-position-x: -309px;
}

.toastui-editor-toolbar-icons.link {
  background-position-x: -334px;
}

.toastui-editor-toolbar-icons.code {
  background-position-x: -361px;
}

.toastui-editor-toolbar-icons.codeblock {
  background-position-x: -388px;
}

.toastui-editor-toolbar-icons.more {
  background-position-x: -412px;
}

.toastui-editor-toolbar-icons:not(:disabled).active {
  background-position-y: -23px;
}

@media only screen and (max-width: 480px) {
  .toastui-editor-popup {
    max-width: 300px;
    margin-left: -150px;
  }

  .toastui-editor-dropdown-toolbar {
    max-width: none;
  }
}

/* 
  z-index basis
  -1: pseudo element
  20 - preview, wysiwyg
  30 - wysiwyg code block language editor, popup, context menu
  40 - tooltip
*/
.ProseMirror {
  font-family: 'Open Sans', 'Helvetica Neue', 'Helvetica', 'Arial', '나눔바른고딕',
    'Nanum Barun Gothic', '맑은고딕', 'Malgun Gothic', sans-serif;
  color: #222;
  font-size: 13px;
  overflow-y: auto;
  overflow-X: hidden;
  height: calc(100% - 36px);
}

.ProseMirror .placeholder {
  color: #999;
}

.ProseMirror:focus {
  outline: none;
}

.ProseMirror-selectednode {
  outline: none;
}

table.ProseMirror-selectednode {
  border-radius: 2px;
  outline: 2px solid #00a9ff;
}

.html-block.ProseMirror-selectednode {
  border-radius: 2px;
  outline: 2px solid #00a9ff;
}

.toastui-editor-contents {
  margin: 0;
  padding: 0;
  font-size: 13px;
  font-family: 'Open Sans', 'Helvetica Neue', 'Helvetica', 'Arial', '나눔바른고딕',
    'Nanum Barun Gothic', '맑은고딕', 'Malgun Gothic', sans-serif;
  z-index: 20;
}

.toastui-editor-contents *:not(table) {
  line-height: 160%;
  box-sizing: content-box;
}

.toastui-editor-contents i,
.toastui-editor-contents cite,
.toastui-editor-contents em,
.toastui-editor-contents var,
.toastui-editor-contents address,
.toastui-editor-contents dfn {
  font-style: italic;
}

.toastui-editor-contents strong {
  font-weight: bold;
}

.toastui-editor-contents p {
  margin: 10px 0;
  color: #222;
}

.toastui-editor-contents > h1:first-of-type,
.toastui-editor-contents > div > div:first-of-type h1 {
  margin-top: 14px;
}

.toastui-editor-contents h1,
.toastui-editor-contents h2,
.toastui-editor-contents h3,
.toastui-editor-contents h4,
.toastui-editor-contents h5,
.toastui-editor-contents h6 {
  font-weight: bold;
  color: #222;
}

.toastui-editor-contents h1 {
  font-size: 24px;
  line-height: 28px;
  border-bottom: 3px double #999;
  margin: 52px 0 15px 0;
  padding-bottom: 7px;
}

.toastui-editor-contents h2 {
  font-size: 22px;
  line-height: 23px;
  border-bottom: 1px solid #dbdbdb;
  margin: 20px 0 13px 0;
  padding-bottom: 7px;
}

.toastui-editor-contents h3 {
  font-size: 20px;
  margin: 18px 0 2px;
}

.toastui-editor-contents h4 {
  font-size: 18px;
  margin: 10px 0 2px;
}

.toastui-editor-contents h3,
.toastui-editor-contents h4 {
  line-height: 18px;
}

.toastui-editor-contents h5 {
  font-size: 16px;
}

.toastui-editor-contents h6 {
  font-size: 14px;
}

.toastui-editor-contents h5,
.toastui-editor-contents h6 {
  line-height: 17px;
  margin: 9px 0 -4px;
}

.toastui-editor-contents del {
  color: #999;
}

.toastui-editor-contents blockquote {
  margin: 14px 0;
  border-left: 4px solid #e5e5e5;
  padding: 0 16px;
  color: #999;
}

.toastui-editor-contents blockquote p,
.toastui-editor-contents blockquote ul,
.toastui-editor-contents blockquote ol {
  color: #999;
}

.toastui-editor-contents blockquote > :first-child {
  margin-top: 0;
}

.toastui-editor-contents blockquote > :last-child {
  margin-bottom: 0;
}

.toastui-editor-contents pre,
.toastui-editor-contents code {
  font-family: Consolas, Courier, 'Apple SD 산돌고딕 Neo', -apple-system, 'Lucida Grande',
    'Apple SD Gothic Neo', '맑은 고딕', 'Malgun Gothic', 'Segoe UI', '돋움', dotum, sans-serif;
  border: 0;
  border-radius: 0;
}

.toastui-editor-contents pre {
  margin: 2px 0 8px;
  padding: 18px;
  background-color: #f4f7f8;
}

.toastui-editor-contents code {
  color: #c1798b;
  background-color: #f9f2f4;
  padding: 2px 3px;
  letter-spacing: -0.3px;
  border-radius: 2px;
}

.toastui-editor-contents pre code {
  padding: 0;
  color: inherit;
  white-space: pre-wrap;
  background-color: transparent;
}

.toastui-editor-contents img {
  margin: 4px 0 10px;
  box-sizing: border-box;
  vertical-align: top;
  max-width: 100%;
}

.toastui-editor-contents table {
  border: 1px solid rgba(0, 0, 0, 0.1);
  margin: 12px 0 14px;
  color: #222;
  width: auto;
  border-collapse: collapse;
  box-sizing: border-box;
}

.toastui-editor-contents table th,
.toastui-editor-contents table td {
  border: 1px solid rgba(0, 0, 0, 0.1);
  padding: 5px 14px 5px 12px;
  height: 32px;
}

.toastui-editor-contents table th {
  background-color: #555;
  font-weight: 300;
  color: #fff;
  padding-top: 6px;
}

.toastui-editor-contents th p {
  margin: 0;
  color: #fff;
}

.toastui-editor-contents td p {
  margin: 0;
  padding: 0 2px;
}

.toastui-editor-contents td.toastui-editor-cell-selected {
  background-color: #d8dfec;
}

.toastui-editor-contents th.toastui-editor-cell-selected {
  background-color: #908f8f;
}

.toastui-editor-contents ul,
.toastui-editor-contents menu,
.toastui-editor-contents ol,
.toastui-editor-contents dir {
  display: block;
  list-style-type: none;
  padding-left: 24px;
  margin: 6px 0 10px;
  color: #222;
}

.toastui-editor-contents ol {
  list-style-type: none;
  counter-reset: li;
}

.toastui-editor-contents ol > li {
  counter-increment: li;
}

.toastui-editor-contents ul > li::before,
.toastui-editor-contents ol > li::before {
  display: inline-block;
  position: absolute;
}

.toastui-editor-contents ul > li::before {
  content: '';
  margin-top: 6px;
  margin-left: -17px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: #ccc;
}

.toastui-editor-contents ol > li::before {
  content: '.' counter(li);
  margin-left: -28px;
  width: 24px;
  text-align: right;
  direction: rtl;
  color: #aaa;
}

.toastui-editor-contents ul ul,
.toastui-editor-contents ul ol,
.toastui-editor-contents ol ol,
.toastui-editor-contents ol ul {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.toastui-editor-contents ul li,
.toastui-editor-contents ol li {
  position: relative;
}

.toastui-editor-contents ul p,
.toastui-editor-contents ol p {
  margin: 0;
}

.toastui-editor-contents hr {
  border-top: 1px solid #eee;
  margin: 16px 0;
}

.toastui-editor-contents a {
  text-decoration: underline;
  color: #4b96e6;
}

.toastui-editor-contents a:hover {
  color: #1f70de;
}

.toastui-editor-contents .image-link {
  position: relative;
}

.toastui-editor-contents .image-link:hover::before {
  content: '';
  position: absolute;
  width: 30px;
  height: 30px;
  right: 0px;
  border-radius: 50%;
  border: 1px solid #c9ccd5;
  background: #fff url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj4KICAgICAgICA8ZyBzdHJva2U9IiM1NTUiIHN0cm9rZS13aWR0aD0iMS41Ij4KICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICA8Zz4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNy42NjUgMTUuMDdsLTEuODE5LS4wMDJjLTEuNDg2IDAtMi42OTItMS4yMjgtMi42OTItMi43NDR2LS4xOTJjMC0xLjUxNSAxLjIwNi0yLjc0NCAyLjY5Mi0yLjc0NGgzLjg0NmMxLjQ4NyAwIDIuNjkyIDEuMjI5IDIuNjkyIDIuNzQ0di4xOTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMDAwIC00NTgxKSB0cmFuc2xhdGUoOTk1IDQ1NzYpIHRyYW5zbGF0ZSg1IDUpIHNjYWxlKDEgLTEpIHJvdGF0ZSg0NSAzNy4yOTMgMCkiLz4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIuMzI2IDQuOTM0bDEuODIyLjAwMmMxLjQ4NyAwIDIuNjkzIDEuMjI4IDIuNjkzIDIuNzQ0di4xOTJjMCAxLjUxNS0xLjIwNiAyLjc0NC0yLjY5MyAyLjc0NGgtMy44NDVjLTEuNDg3IDAtMi42OTItMS4yMjktMi42OTItMi43NDRWNy42OCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEwMDAgLTQ1ODEpIHRyYW5zbGF0ZSg5OTUgNDU3NikgdHJhbnNsYXRlKDUgNSkgc2NhbGUoMSAtMSkgcm90YXRlKDQ1IDMwLjk5NiAwKSIvPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K) no-repeat;
  background-position: center;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.08);
  cursor: pointer;
}

.toastui-editor-contents .task-list-item {
  border: 0;
  list-style: none;
  padding-left: 24px;
  margin-left: -24px;
}

.toastui-editor-contents .task-list-item::before {
  background-repeat: no-repeat;
  background-size: 18px 18px;
  background-position: center;
  content: '';
  margin-left: 0;
  margin-top: 0;
  border-radius: 2px;
  height: 18px;
  width: 18px;
  position: absolute;
  left: 0;
  top: 1px;
  cursor: pointer;
  background: transparent url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgZmlsbD0iI0ZGRiIgc3Ryb2tlPSIjQ0NDIj4KICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTAzMCAtMjk2KSB0cmFuc2xhdGUoNzg4IDE5MikgdHJhbnNsYXRlKDI0MiAxMDQpIj4KICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD0iMTciIGhlaWdodD0iMTciIHg9Ii41IiB5PSIuNSIgcng9IjIiLz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg==);
}

.toastui-editor-contents .task-list-item.checked::before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgZmlsbD0iIzRCOTZFNiI+CiAgICAgICAgICAgIDxnPgogICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTE2IDBjMS4xMDUgMCAyIC44OTUgMiAydjE0YzAgMS4xMDUtLjg5NSAyLTIgMkgyYy0xLjEwNSAwLTItLjg5NS0yLTJWMkMwIC44OTUuODk1IDAgMiAwaDE0em0tMS43OTMgNS4yOTNjLS4zOS0uMzktMS4wMjQtLjM5LTEuNDE0IDBMNy41IDEwLjU4NSA1LjIwNyA4LjI5M2wtLjA5NC0uMDgzYy0uMzkyLS4zMDUtLjk2LS4yNzgtMS4zMi4wODMtLjM5LjM5LS4zOSAxLjAyNCAwIDEuNDE0bDMgMyAuMDk0LjA4M2MuMzkyLjMwNS45Ni4yNzggMS4zMi0uMDgzbDYtNiAuMDgzLS4wOTRjLjMwNS0uMzkyLjI3OC0uOTYtLjA4My0xLjMyeiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEwNTAgLTI5NikgdHJhbnNsYXRlKDc4OCAxOTIpIHRyYW5zbGF0ZSgyNjIgMTA0KSIvPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K);
}

.toastui-editor-custom-block .toastui-editor-custom-block-editor {
  background: #f9f7fd;
  color: #452d6b;
  border: solid 1px #dbd4ea;
}

.toastui-editor-custom-block .toastui-editor-custom-block-view {
  position: relative;
  padding: 9px 13px 8px 12px;
}

.toastui-editor-custom-block.ProseMirror-selectednode .toastui-editor-custom-block-view {
  border: solid 1px #dbd4ea;
  border-radius: 2px;
}

.toastui-editor-custom-block .toastui-editor-custom-block-view .tool {
  position: absolute;
  right: 10px;
  top: 7px;
  display: none;
}

.toastui-editor-custom-block.ProseMirror-selectednode .toastui-editor-custom-block-view .tool {
  display: block;
}

.toastui-editor-custom-block-view button {
  vertical-align: middle;
  width: 15px;
  height: 15px;
  margin-left: 8px;
  padding: 3px;
  border: solid 1px #cccccc;
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjIuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuugiOydtOyWtF8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiCgkgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzAgMzAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMwIDMwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6IzU1NTU1NTt9Cjwvc3R5bGU+CjxnPgoJPGc+CgkJPGc+CgkJCTxnPgoJCQkJPGc+CgkJCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTE1LjUsMTIuNWwyLDJMMTIsMjBoLTJ2LTJMMTUuNSwxMi41eiBNMTgsMTBsMiwybC0xLjUsMS41bC0yLTJMMTgsMTB6Ii8+CgkJCQk8L2c+CgkJCTwvZz4KCQk8L2c+Cgk8L2c+CjwvZz4KPC9zdmc+Cg==)
    no-repeat;
  background-position: center;
  background-size: 30px 30px;
}

.toastui-editor-custom-block-view .info {
  font-size: 13px;
  font-weight: bold;
  color: #5200d0;
  vertical-align: middle;
}

.toastui-editor-contents .toastui-editor-ww-code-block {
  position: relative;
}

.toastui-editor-contents .toastui-editor-ww-code-block:after {
  content: attr(data-language);
  position: absolute;
  display: inline-block;
  top: 10px;
  right: 10px;
  height: 24px;
  padding: 3px 35px 0 10px;
  font-weight: bold;
  font-size: 13px;
  color: #333;
  background: #e5e9ea url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjIuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuugiOydtOyWtF8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiCgkgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMzAgMzAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMwIDMwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6IzU1NTU1NTt9Cjwvc3R5bGU+CjxnPgoJPGc+CgkJPGc+CgkJCTxnPgoJCQkJPGc+CgkJCQkJPHBhdGggY2xhc3M9InN0MCIgZD0iTTE1LjUsMTIuNWwyLDJMMTIsMjBoLTJ2LTJMMTUuNSwxMi41eiBNMTgsMTBsMiwybC0xLjUsMS41bC0yLTJMMTgsMTB6Ii8+CgkJCQk8L2c+CgkJCTwvZz4KCQk8L2c+Cgk8L2c+CjwvZz4KPC9zdmc+Cg==) no-repeat;
  background-position: right;
  border-radius: 2px;
  background-size: 30px 30px;
  cursor: pointer;
}

.toastui-editor-ww-code-block-language {
  position: fixed;
  display: inline-block;
  width: 100px;
  height: 27px;
  right: 35px;
  border: 1px solid #ccc;
  border-radius: 2px;
  background-color: #fff;
  z-index: 30;
}

.toastui-editor-ww-code-block-language input {
  box-sizing: border-box;
  margin: 0;
  padding: 0 10px;
  height: 100%;
  width: 100%;
  background-color: transparent;
  border: none;
  outline: none;
}

.toastui-editor-contents-placeholder::before {
  content: attr(data-placeholder);
  color: grey;
  line-height: 160%;
  position: absolute;
}

.toastui-editor-md-preview .toastui-editor-contents h1 {
  min-height: 28px;
}

.toastui-editor-md-preview .toastui-editor-contents h2 {
  min-height: 23px;
}

.toastui-editor-md-preview .toastui-editor-contents blockquote {
  min-height: 20px;
}

.toastui-editor-md-preview .toastui-editor-contents li {
  min-height: 22px;
}

.toastui-editor-pseudo-clipboard {
  position: fixed;
  opacity: 0;
  width: 0;
  height: 0;
  left: -1000px;
  top: -1000px;
  z-index: -1;
}

.toastui-editor-contents .toastui-editor-md-preview-highlight {
  position: relative;
  z-index: 0;
}

.toastui-editor-contents .toastui-editor-md-preview-highlight::after {
  content: '';
  background-color: rgba(255, 245, 131, 0.5);
  border-radius: 4px;
  z-index: -1;
  position: absolute;
  top: -4px;
  right: -4px;
  left: -4px;
  bottom: -4px;
}

.toastui-editor-contents h1.toastui-editor-md-preview-highlight::after,
.toastui-editor-contents h2.toastui-editor-md-preview-highlight::after {
  bottom: 0;
}

.toastui-editor-contents td.toastui-editor-md-preview-highlight::after,
.toastui-editor-contents th.toastui-editor-md-preview-highlight::after {
  display: none;
}

.toastui-editor-contents th.toastui-editor-md-preview-highlight,
.toastui-editor-contents td.toastui-editor-md-preview-highlight {
  background-color: rgba(255, 245, 131, 0.5);
}

.toastui-editor-contents th.toastui-editor-md-preview-highlight {
  color: #222;
}

.toastui-editor-md-heading1 {
  font-size: 24px;
}

.toastui-editor-md-heading2 {
  font-size: 22px;
}

.toastui-editor-md-heading3 {
  font-size: 20px;
}

.toastui-editor-md-heading4 {
  font-size: 18px;
}

.toastui-editor-md-heading5 {
  font-size: 16px;
}

.toastui-editor-md-heading6 {
  font-size: 14px;
}

.toastui-editor-md-heading.toastui-editor-md-delimiter.setext {
  line-height: 15px;
}

.toastui-editor-md-strong,
.toastui-editor-md-heading,
.toastui-editor-md-list-item-style,
.toastui-editor-md-list-item .toastui-editor-md-meta {
  font-weight: bold;
}

.toastui-editor-md-emph {
  font-style: italic;
}

.toastui-editor-md-strike {
  text-decoration: line-through;
}

.toastui-editor-md-strike.toastui-editor-md-delimiter {
  text-decoration: none;
}

.toastui-editor-md-delimiter,
.toastui-editor-md-thematic-break,
.toastui-editor-md-link,
.toastui-editor-md-table,
.toastui-editor-md-block-quote {
  color: #ccc;
}

.toastui-editor-md-code.toastui-editor-md-delimiter {
  color: #aaa;
}

.toastui-editor-md-meta,
.toastui-editor-md-html,
.toastui-editor-md-link.toastui-editor-md-link-url.toastui-editor-md-marked-text {
  color: #999;
}

.toastui-editor-md-block-quote .toastui-editor-md-marked-text,
.toastui-editor-md-list-item .toastui-editor-md-meta {
  color: #555;
}

.toastui-editor-md-table .toastui-editor-md-table-cell {
  color: #222;
}

.toastui-editor-md-link.toastui-editor-md-link-desc.toastui-editor-md-marked-text,
.toastui-editor-md-list-item-style.toastui-editor-md-list-item-odd {
  color: #4b96e6;
}

.toastui-editor-md-list-item-style.toastui-editor-md-list-item-even {
  color: #cb4848;
}

.toastui-editor-md-code.toastui-editor-md-marked-text {
  color: #c1798b;
}

.toastui-editor-md-code {
  background-color: rgba(243, 229, 233, 0.5);
  padding: 2px 0;
  letter-spacing: -0.3px;
}

.toastui-editor-md-code.toastui-editor-md-start {
  padding-left: 2px;
  border-top-left-radius: 2px;
  border-bottom-left-radius: 2px;
}

.toastui-editor-md-code.toastui-editor-md-end {
  padding-right: 2px;
  border-top-right-radius: 2px;
  border-bottom-right-radius: 2px;
}

.toastui-editor-md-code-block-line-background {
  background-color: #f5f7f8;
}

.toastui-editor-md-code-block-line-background.start,
.toastui-editor-md-custom-block-line-background.start {
  margin-top: 2px;
}

.toastui-editor-md-code,
.toastui-editor-md-code-block {
  font-family: Consolas, Courier, 'Lucida Grande', '나눔바른고딕', 'Nanum Barun Gothic', '맑은고딕',
    'Malgun Gothic', sans-serif;
}

.toastui-editor-md-custom-block {
  color: #452d6b;
}
.toastui-editor-md-custom-block-line-background {
  background-color: #f9f7fd;
}
.toastui-editor-md-custom-block .toastui-editor-md-delimiter {
  color: #b8b3c0;
}
.toastui-editor-md-custom-block .toastui-editor-md-meta {
  color: #5200d0;
}
/* 模版管理页面
   视觉风格与「知识产权贯标全流程」9 个原型页面统一（见 ip/ipShared.css 的 .ip-themed）
   页面结构类规则限定在 .template-management-page 内；抽屉 / Markdown 在弹层（Portal）中，
   故单独以 .detail-drawer.ip-themed 限定作用域 */

.template-management-page {
  padding: 18px 22px 40px;
}

/* ========== 左树右表布局 ========== */
.template-management-page .template-body {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

/* 左侧四层分类树：整棵展开，自身不滚动（滚动只由 .fm-main-content 承担） */
.template-management-page .template-class-tree {
  flex: 0 0 232px;
  width: 232px;
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 0;
  overflow: hidden;
}

.template-management-page .template-class-tree .tree-header {
  padding: 13px 16px;
  border-bottom: 1px solid var(--border-2);
  font-size: 13.5px;
  font-weight: 500;
  color: var(--text);
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 0;
}

.template-management-page .template-class-tree .ant-tree {
  background: transparent;
  padding: 8px;
}

/* 分类树外观：选择器比 DocClassTreeTitle.css 更具体，
   只改本页，不影响共用该样式的「企业生成记录」页 */
.template-management-page .doc-class-tree .ant-tree {
  font-size: 13px;
}

.template-management-page .doc-class-tree .ant-tree-treenode {
  border-radius: 7px;
  padding: 2px 4px 2px 0;
}

.template-management-page .doc-class-tree .ant-tree-node-content-wrapper {
  padding: 6px 8px;
  border-radius: 7px;
  line-height: 22px;
  font-size: 13px;
  color: var(--text-2);
}

.template-management-page .doc-class-tree .ant-tree-node-content-wrapper:hover {
  background: #f6f8fc;
  color: var(--text);
}

.template-management-page .doc-class-tree .ant-tree-node-content-wrapper.ant-tree-node-selected {
  background: var(--primary-light);
}

.template-management-page .doc-class-tree .ant-tree-treenode-selected .ant-tree-node-content-wrapper,
.template-management-page .doc-class-tree .ant-tree-node-selected .doc-tree-title-text {
  color: var(--primary-dark);
  font-weight: 500;
}

.template-management-page .doc-class-tree .ant-tree-treenode-selected::after {
  background: var(--primary);
}

.template-management-page .doc-class-tree .ant-tree-switcher {
  color: var(--text-3);
}

.template-management-page .doc-class-tree .doc-tree-title-count {
  color: var(--text-3);
  font-size: 12px;
}

.template-management-page .doc-class-tree .doc-tree-title-group .doc-tree-title-text {
  font-weight: 500;
  color: var(--text);
}

/* 右侧主区 */
.template-management-page .template-main {
  flex: 1 1 auto;
  min-width: 0;
}

/* 隐藏 Toast UI Editor 默认工具栏 */
.toastui-editor-defaultUI-toolbar {
  display: none !important;
}

/* ========== 搜索和操作区域 ========== */
.template-management-page .search-action-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}

.template-management-page .search-box {
  flex: 1;
  max-width: 400px;
}

.template-management-page .action-buttons {
  display: flex;
  gap: 8px;
}

/* ========== 表格区域 ========== */
.template-management-page .table-section {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
}

/* ========== 详情抽屉（Portal，用 .ip-themed 共同限定） ========== */
.detail-drawer.ip-themed .detail-section {
  margin-bottom: 20px;
}

.detail-drawer.ip-themed .detail-section-title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--text);
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--border-2);
}

.detail-drawer.ip-themed .detail-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.detail-drawer.ip-themed .detail-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 10px 12px;
  background: #fafbfd;
  border: 1px solid var(--border-2);
  border-radius: 9px;
}

.detail-drawer.ip-themed .detail-item-full {
  grid-column: 1 / -1;
}

.detail-drawer.ip-themed .detail-item-label {
  font-size: 12px;
  color: var(--text-3);
}

.detail-drawer.ip-themed .detail-item-value {
  font-size: 13px;
  color: var(--text);
  word-break: break-word;
}

/* ========== 版本历史样式 ========== */
.detail-drawer.ip-themed .history-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 10px 0;
  border-bottom: 1px solid var(--border-2);
}

.detail-drawer.ip-themed .history-item:last-child {
  border-bottom: none;
}

.detail-drawer.ip-themed .history-item-left {
  flex-shrink: 0;
  padding-right: 16px;
}

.detail-drawer.ip-themed .history-item-title {
  font-size: 13px;
  font-weight: 500;
  color: var(--text);
  line-height: 1.5;
}

.detail-drawer.ip-themed .history-item-right {
  flex: 1;
  display: flex;
  justify-content: flex-end;
}

.detail-drawer.ip-themed .history-item-right-content {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.detail-drawer.ip-themed .history-item-details {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.detail-drawer.ip-themed .history-item-detail {
  font-size: 12.5px;
  color: var(--text-2);
  line-height: 1.5;
}

/* ========== Markdown 预览弹窗（弹层内容，保持全局作用域） ========== */
.markdown-content {
  font-family: "PingFang SC", "Microsoft YaHei", -apple-system, "Segoe UI", sans-serif;
  font-size: 13px;
  color: #1f2430;
}

.markdown-content h1,
.markdown-content h2,
.markdown-content h3,
.markdown-content h4,
.markdown-content h5,
.markdown-content h6 {
  margin-top: 20px;
  margin-bottom: 12px;
  font-weight: 500;
  line-height: 1.3;
  color: #1f2430;
}

.markdown-content h1 {
  font-size: 20px;
  padding-bottom: 0.3em;
  border-bottom: 1px solid #eef1f7;
}

.markdown-content h2 {
  font-size: 17px;
  padding-bottom: 0.3em;
  border-bottom: 1px solid #eef1f7;
}

.markdown-content h3 {
  font-size: 14px;
}

.markdown-content p {
  margin-top: 0;
  margin-bottom: 12px;
  line-height: 1.8;
}

.markdown-content code {
  padding: 0.2em 0.4em;
  margin: 0;
  font-size: 85%;
  background-color: #f6f8fa;
  border-radius: 4px;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
}

.markdown-content pre {
  padding: 14px;
  overflow: auto;
  font-size: 85%;
  line-height: 1.45;
  background-color: #f6f8fa;
  border-radius: 7px;
}

.markdown-content pre code {
  display: inline;
  max-width: auto;
  padding: 0;
  margin: 0;
  overflow: visible;
  line-height: inherit;
  word-wrap: normal;
  background-color: transparent;
  border: 0;
}

.markdown-content blockquote {
  padding: 0 1em;
  color: #5f6879;
  border-left: 0.25em solid #e6e9f0;
  margin: 0 0 12px 0;
}

.markdown-content ul,
.markdown-content ol {
  padding-left: 2em;
  margin-top: 0;
  margin-bottom: 12px;
}

.markdown-content li {
  margin-top: 0.25em;
}

.markdown-content table {
  border-spacing: 0;
  border-collapse: collapse;
  margin-top: 0;
  margin-bottom: 12px;
  width: 100%;
  overflow: auto;
}

.markdown-content table th {
  padding: 8px 12px;
  border: 1px solid #eef1f7;
  background: #fafbfd;
  color: #5f6879;
  font-weight: 500;
  font-size: 12.5px;
}

.markdown-content table td {
  padding: 10px 12px;
  border: 1px solid #eef1f7;
}

.markdown-content table tr {
  background-color: #fff;
}

.markdown-content table tr:nth-child(2n) {
  background-color: #fbfcfe;
}

.markdown-content hr {
  height: 1px;
  padding: 0;
  margin: 20px 0;
  background-color: #eef1f7;
  border: 0;
}

.markdown-content a {
  color: #2f6bf0;
  text-decoration: none;
}

.markdown-content a:hover {
  color: #1f52c4;
  text-decoration: underline;
}

.markdown-content strong {
  font-weight: 500;
}

.markdown-content img {
  max-width: 100%;
  box-sizing: content-box;
  background-color: #fff;
}

/* ========== 响应式 ========== */
@media (max-width: 768px) {
  .template-management-page {
    padding: 14px;
  }

  .template-management-page .template-body {
    flex-direction: column;
  }

  .template-management-page .template-class-tree {
    width: 100%;
    flex: 1 1 auto;
  }

  .template-management-page .search-action-section {
    flex-direction: column;
    align-items: stretch;
  }

  .template-management-page .search-box {
    max-width: 100%;
  }

  .detail-drawer.ip-themed .detail-grid {
    grid-template-columns: 1fr;
  }
}
/* ============================================================
   知识产权贯标全流程管理平台 · 原型样式移植
   来源：proto_page/page.html
   全部规则作用域限定在 .ip-proto 内，不污染其他页面
   ============================================================ */

.ip-proto{
  --primary:#2f6bf0; --primary-dark:#1f52c4; --primary-light:#eaf0fe; --primary-border:#c9dbfd;
  --text:#1f2430; --text-2:#5f6879; --text-3:#98a1b0;
  --border:#e6e9f0; --border-2:#eef1f7; --bg:#f4f6fa; --white:#fff;
  --green:#12873f; --green-bg:#e8f6ec; --amber:#b57209; --amber-bg:#fdf3e0;
  --red:#c62a2a; --red-bg:#fdecec; --purple:#5a3fc0; --purple-bg:#efeafe;
  --radius:10px;
  font-family:"PingFang SC","Microsoft YaHei",-apple-system,"Segoe UI",sans-serif;
  background:var(--bg);
  color:var(--text);
  font-size:13px;
  -webkit-font-smoothing:antialiased;
  min-height:100%;
}
.ip-proto *{box-sizing:border-box;margin:0;padding:0}
.ip-proto svg.sprite{display:none}
.ip-proto .icon{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* ---------- 内容区 ---------- */
.ip-proto .ip-page{padding:18px 22px 40px}
.ip-proto .ip-crumb{font-size:13px;color:var(--text-2);margin-bottom:14px}
.ip-proto .ip-crumb b{color:var(--text);font-weight:500}

/* ---------- 通用组件 ---------- */
.ip-proto .card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius)}
.ip-proto .card-h{padding:13px 16px;border-bottom:1px solid var(--border-2);display:flex;align-items:center;justify-content:space-between;gap:10px}
.ip-proto .card-h h3{font-size:13.5px;font-weight:500}
.ip-proto .card-h .sub{font-size:12px;color:var(--text-3)}
.ip-proto .card-b{padding:16px}
.ip-proto .row{display:flex;gap:14px}
.ip-proto .grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ip-proto .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ip-proto .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ip-proto .mt{margin-top:14px}
.ip-proto .btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--white);color:var(--text);padding:6px 12px;border-radius:7px;font-size:12.5px;cursor:pointer;font-family:inherit}
.ip-proto .btn:hover{border-color:var(--primary-border);color:var(--primary-dark)}
.ip-proto .btn.pri{background:var(--primary);border-color:var(--primary);color:#fff}
.ip-proto .btn.pri:hover{background:var(--primary-dark);color:#fff}
.ip-proto .btn.sm{padding:4px 9px;font-size:12px}
.ip-proto .tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:5px;font-size:12px;line-height:18px;white-space:nowrap}
.ip-proto .t-green{background:var(--green-bg);color:var(--green)}
.ip-proto .t-blue{background:var(--primary-light);color:var(--primary-dark)}
.ip-proto .t-amber{background:var(--amber-bg);color:var(--amber)}
.ip-proto .t-red{background:var(--red-bg);color:var(--red)}
.ip-proto .t-gray{background:#f1f3f7;color:var(--text-2)}
.ip-proto .t-purple{background:var(--purple-bg);color:var(--purple)}
.ip-proto .dot{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block}
.ip-proto .tbl{width:100%;border-collapse:collapse}
.ip-proto .tbl th{text-align:left;font-weight:500;color:var(--text-2);background:#fafbfd;padding:9px 12px;border-bottom:1px solid var(--border);font-size:12.5px;white-space:nowrap}
.ip-proto .tbl td{padding:11px 12px;border-bottom:1px solid var(--border-2);vertical-align:middle}
.ip-proto .tbl tr:last-child td{border-bottom:0}
.ip-proto .tbl tr:hover td{background:#fbfcfe}
.ip-proto .lnk{color:var(--primary);cursor:pointer}
.ip-proto .lnk:hover{text-decoration:underline}
.ip-proto .muted{color:var(--text-3)}
.ip-proto .bar{height:6px;background:#eef1f7;border-radius:3px;overflow:hidden;min-width:70px}
.ip-proto .bar>i{display:block;height:100%;background:var(--primary);border-radius:3px}
.ip-proto .bar>i.g{background:#2fa85e}
.ip-proto .bar>i.a{background:#e0a02a}
.ip-proto .kpi{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}
.ip-proto .kpi .k{font-size:12px;color:var(--text-2);display:flex;align-items:center;gap:6px}
.ip-proto .kpi .v{font-size:24px;font-weight:500;margin:6px 0 2px;letter-spacing:-.5px}
.ip-proto .kpi .d{font-size:11.5px;color:var(--text-3)}
.ip-proto .mini{font-size:12px;color:var(--text-2);line-height:1.7}
.ip-proto .note{background:var(--primary-light);border:1px solid var(--primary-border);color:#22407f;border-radius:var(--radius);padding:10px 14px;font-size:12.5px;display:flex;gap:8px;align-items:flex-start;line-height:1.6}

/* ---------- 步骤条 ---------- */
.ip-proto .stepper{display:flex;align-items:flex-start;padding:6px 4px 2px;overflow:auto}
.ip-proto .step{flex:1;min-width:88px;text-align:center;position:relative}
.ip-proto .step .cir{width:24px;height:24px;border-radius:50%;margin:0 auto 7px;display:flex;align-items:center;justify-content:center;font-size:12px;background:#eef1f7;color:var(--text-3);border:1px solid transparent}
.ip-proto .step .nm{font-size:12px;color:var(--text-2)}
.ip-proto .step .dt{font-size:11px;color:var(--text-3);margin-top:2px}
.ip-proto .step:not(:last-child):after{content:"";position:absolute;top:12px;left:calc(50% + 16px);right:calc(-50% + 16px);height:1.5px;background:#e8ebf2}
.ip-proto .step.done .cir{background:var(--green-bg);color:var(--green)}
.ip-proto .step.done .nm{color:var(--text)}
.ip-proto .step.done:after{background:#bfe3cb}
.ip-proto .step.now .cir{background:var(--primary);color:#fff}
.ip-proto .step.now .nm{color:var(--primary-dark);font-weight:500}
.ip-proto .step.now:after{background:#dde6f9}

/* ---------- Tab ---------- */
.ip-proto .tabs{display:flex;gap:22px;border-bottom:1px solid var(--border);padding:0 16px}
.ip-proto .tabs a{padding:11px 0;font-size:13px;color:var(--text-2);cursor:pointer;border-bottom:2px solid transparent}
.ip-proto .tabs a.on{color:var(--primary-dark);border-bottom-color:var(--primary);font-weight:500}
.ip-proto .tabpane{display:none}
.ip-proto .tabpane.on{display:block}

/* ---------- 定义列表 / 表单 ---------- */
.ip-proto .dl{display:grid;grid-template-columns:auto 1fr auto 1fr;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.ip-proto .dl .k{background:#fafbfd;color:var(--text-2);padding:10px 14px;border-bottom:1px solid var(--border-2);border-right:1px solid var(--border-2);width:118px}
.ip-proto .dl .v{padding:10px 14px;border-bottom:1px solid var(--border-2);border-right:1px solid var(--border-2);color:var(--text)}
.ip-proto .dl .v:last-child{border-right:0}
.ip-proto .chk{display:flex;align-items:flex-start;gap:9px;padding:9px 0;border-bottom:1px solid var(--border-2);font-size:12.5px}
.ip-proto .chk:last-child{border-bottom:0}
.ip-proto .bx{width:15px;height:15px;border-radius:4px;border:1px solid #ccd4e2;flex:0 0 15px;margin-top:1px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px}
.ip-proto .bx.on{background:var(--primary);border-color:var(--primary)}
.ip-proto .bx.warn{background:var(--amber);border-color:var(--amber)}
.ip-proto .rec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ip-proto .rec{border:1px solid var(--border);border-radius:9px;padding:13px 14px;background:var(--white)}
.ip-proto .rec .t{font-size:13px;display:flex;align-items:center;justify-content:space-between}
.ip-proto .rec .n{font-size:20px;font-weight:500;margin:8px 0 6px}
.ip-proto .rec .s{font-size:11.5px;color:var(--text-3)}
.ip-proto .tl{position:relative;padding-left:18px}
.ip-proto .tl:before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:1px;background:var(--border)}
.ip-proto .tl .it{position:relative;padding:0 0 16px}
.ip-proto .tl .it:last-child{padding-bottom:0}
.ip-proto .tl .it:before{content:"";position:absolute;left:-17px;top:4px;width:9px;height:9px;border-radius:50%;background:#fff;border:1.5px solid var(--primary)}
.ip-proto .tl .it.ok:before{border-color:#2fa85e;background:#2fa85e}
.ip-proto .tl .it.warn:before{border-color:#e0a02a}
.ip-proto .tl .it .h{font-size:12.5px;display:flex;gap:8px;align-items:center}
.ip-proto .tl .it .p{font-size:11.5px;color:var(--text-3);margin-top:3px;line-height:1.6}
.ip-proto .score{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-2)}
.ip-proto .score:last-child{border-bottom:0}
.ip-proto .score .nm{width:150px;font-size:12.5px}
.ip-proto .score .num{width:34px;text-align:right;font-size:12.5px;color:var(--text-2)}
.ip-proto .matrix td.st{white-space:nowrap}
.ip-proto .matrix .cl{font-weight:500;color:var(--primary-dark);white-space:nowrap}
/* 企业管理系统布局样式 */
.enterprise-layout {
  display: flex;
  flex-direction: column;
  height: 100vh;
  overflow: hidden;
  background-color: #f5f5f5;
}

/* 顶部导航栏 */
.ent-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 50px;
  padding: 0 16px;
  background-color: #fff;
  border-bottom: 1px solid #e8e8e8;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  z-index: 100;
}

.ent-header-left {
  display: flex;
  align-items: center;
  gap: 16px;
}

.ent-menu-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s;
  font-size: 16px;
  color: #666;
}

.ent-menu-toggle:hover {
  background-color: #f0f0f0;
}

.ent-header-logo {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ent-header-logo-img {
  height: 28px;
  width: auto;
}

.ent-header-logo-text {
  font-size: 18px;
  font-weight: 600;
  color: #333;
}

.ent-header-right {
  display: flex;
  align-items: center;
  gap: 16px;
}

.ent-header-user {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 12px;
  border-radius: 4px;
  background-color: #f5f5f5;
}

.ent-header-user-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 500;
}

.ent-header-user-name {
  font-size: 13px;
  color: #333;
}

.ent-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ent-header-action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 4px;
  background-color: transparent;
  cursor: pointer;
  transition: all 0.3s;
  font-size: 18px;
  color: #666;
}

.ent-header-action-btn:hover {
  background-color: #f0f0f0;
  color: #333;
}

.ent-header-action-btn.logout:hover {
  background-color: #fff1f0;
  color: #ff4d4f;
}

/* 主体内容区 */
.ent-body {
  display: flex;
  flex: 1;
  overflow: hidden;
}

/* 左侧边栏 */
.ent-sidebar {
  width: 240px;
  max-width: 240px;
  min-width: 240px;
  background-color: #fff;
  border-right: 1px solid #e8e8e8;
  transition: width 0.3s;
  display: flex;
  flex-direction: column;
}

.ent-sidebar.collapsed {
  min-width: 0;
  max-width: 0;
  width: 0;
  border-right: none;
  overflow: hidden;
  transition: width 0.3s ease, max-width 0.3s ease, min-width 0.3s ease;
}

/* 侧边栏菜单 */
.ent-sidebar-menu {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 8px;
}

.ent-sidebar-menu::-webkit-scrollbar {
  width: 4px;
}

.ent-sidebar-menu::-webkit-scrollbar-track {
  background: transparent;
}

.ent-sidebar-menu::-webkit-scrollbar-thumb {
  background: #e8e8e8;
  border-radius: 2px;
}

/* 覆盖 Ant Design Menu 默认样式 */
.ent-sidebar-menu .ant-menu {
  background: transparent !important;
}

.ent-sidebar-menu .ant-menu-item {
  margin: 4px 0 !important;
  border-radius: 8px !important;
  transition: all 0.3s ease !important;
}

.ent-sidebar-menu .ant-menu-item:hover {
  background: #f5f5f5 !important;
}

.ent-sidebar-menu .ant-menu-item-selected {
  background: #e6f7ff !important;
}

.ent-sidebar-menu .ant-menu-item-selected .anticon {
  color: #1890ff !important;
}

/* 主内容区 */
.ent-main-content {
  flex: 1;
  overflow: auto;
  background-color: #f5f5f5;
}.enterprise-home {
  padding: 24px;
  height: 100%;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.enterprise-home-header {
  text-align: center;
  margin-bottom: 24px;
}

.enterprise-home-title {
  font-size: 26px;
  font-weight: 600;
  color: #1f1f1f;
  margin: 0 0 8px 0;
}

.enterprise-home-subtitle {
  font-size: 14px;
  color: #8c8c8c;
  margin: 0;
}

/* 统计卡片 */
.enterprise-home-card {
  cursor: pointer;
  transition: all 0.3s;
  border-radius: 12px;
  overflow: hidden;
}

.enterprise-home-card:hover {
  box-shadow: 0 4px 16px rgba(102, 126, 234, 0.18);
  transform: translateY(-3px);
}

.enterprise-home-card .ant-card-body {
  padding: 20px;
}

.ent-stat-card-body {
  display: flex;
  align-items: center;
  gap: 16px;
}

.ent-stat-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  color: #fff;
  flex-shrink: 0;
}

.ent-stat-info {
  min-width: 0;
}

.ent-stat-title {
  font-size: 13px;
  color: #8c8c8c;
  margin-bottom: 4px;
}

.ent-stat-value {
  font-size: 26px;
  font-weight: 600;
  line-height: 1.2;
}

.ent-stat-sub {
  font-size: 12px;
  color: #bfbfbf;
  margin-top: 2px;
}

/* 聊天框区域：占满统计卡片以外的剩余高度，随窗口高度自适应；
   视口过矮时不小于 420px，此时页面整体滚动 */
.enterprise-home-chat {
  margin-top: 24px;
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
  overflow: hidden;
  flex: 1;
  min-height: 420px;
}

/* 统计卡片行不被压缩 */
.enterprise-home .ant-row {
  flex-shrink: 0;
}
/* ==========================================================================
   OnePC 公共组件库（手写，不依赖 antd）

   规则：
   - 类名统一 onepc-k- 前缀（k = kit），与外壳的 .onepc-* / demo 复刻的 .onepc-ws-* 互不干扰
   - 颜色通过 CSS 令牌配置；使用 OnePCProvider 设置应用作用域主题
   - 新应用使用 OnePCProvider；全局回退变量兼容旧应用外壳
   - 只负责「长什么样」，交互与状态由各自的 .jsx 管
   ========================================================================== */

/* ------------------------------------------------------------------ 按钮 */

.onepc-k-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid transparent;
  border-radius: var(--ws-radius-sm);
  background: transparent;
  color: var(--ws-text);
  font: inherit;
  font-size: 13px;
  font-weight: 550;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition:
    background-color 0.15s,
    border-color 0.15s,
    color 0.15s,
    box-shadow 0.15s;
}

.onepc-k-btn:focus-visible {
  outline: 2px solid var(--ws-primary);
  outline-offset: 2px;
}

.onepc-k-btn[disabled],
.onepc-k-btn.is-loading {
  cursor: not-allowed;
  opacity: 0.55;
}

/* 尺寸 */
.onepc-k-btn.is-sm {
  min-height: 28px;
  padding: 0 10px;
  font-size: 12px;
}
.onepc-k-btn.is-lg {
  min-height: 40px;
  padding: 0 20px;
  font-size: 14px;
}
.onepc-k-btn.is-icon {
  width: 34px;
  padding: 0;
}
.onepc-k-btn.is-icon.is-sm {
  width: 28px;
}
.onepc-k-btn.is-block {
  width: 100%;
}

/* 变体：主色 */
.onepc-k-btn.is-primary {
  background: var(--ws-primary);
  color: var(--ws-on-primary, #fff);
}
.onepc-k-btn.is-primary:not([disabled]):hover {
  background: var(--ws-primary-hover);
}

/* 变体：副主题色 */
.onepc-k-btn.is-accent {
  background: var(--ws-secondary);
  color: var(--ws-on-secondary, #fff);
}
.onepc-k-btn.is-accent:not([disabled]):hover {
  background: var(--ws-secondary-hover);
}

/* 变体：描边 */
.onepc-k-btn.is-outline {
  border-color: var(--ws-border);
  background: var(--ws-surface);
}
.onepc-k-btn.is-outline:not([disabled]):hover {
  border-color: var(--ws-primary);
  color: var(--ws-primary);
}

/* 变体：弱化（副主题色的低饱和形态，常用于「次要但想强调」的动作） */
.onepc-k-btn.is-soft {
  background: var(--ws-secondary-soft);
  color: var(--ws-secondary-hover);
}
.onepc-k-btn.is-soft:not([disabled]):hover {
  background: var(--ws-secondary);
  color: var(--ws-on-secondary, #fff);
}

/* 变体：幽灵 */
.onepc-k-btn.is-ghost {
  color: var(--ws-primary);
}
.onepc-k-btn.is-ghost:not([disabled]):hover {
  background: var(--ws-primary-soft);
}

/* 变体：危险 */
.onepc-k-btn.is-danger {
  background: var(--ws-danger);
  color: var(--ws-on-danger, #fff);
}
.onepc-k-btn.is-danger:not([disabled]):hover {
  background: var(--ws-danger-hover);
}

.onepc-k-btn-group {
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

/* ------------------------------------------------------------------ 表单 */

.onepc-k-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.onepc-k-field-label {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--ws-text);
}

.onepc-k-field-label .onepc-k-req {
  margin-left: 3px;
  color: var(--ws-danger);
}

.onepc-k-field-hint {
  font-size: 11.5px;
  color: var(--ws-muted);
  line-height: 1.6;
}

.onepc-k-field-hint.is-error {
  color: var(--ws-danger);
}

.onepc-k-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}

.onepc-k-input,
.onepc-k-textarea,
.onepc-k-select {
  width: 100%;
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-sm);
  background: var(--ws-surface);
  color: var(--ws-text);
  font: inherit;
  font-size: 13px;
  transition:
    border-color 0.15s,
    box-shadow 0.15s;
}

.onepc-k-input::placeholder,
.onepc-k-textarea::placeholder {
  color: var(--ws-muted);
  opacity: 0.85;
}

.onepc-k-input:hover,
.onepc-k-textarea:hover,
.onepc-k-select:hover {
  border-color: var(--ws-muted);
}

.onepc-k-input:focus,
.onepc-k-textarea:focus,
.onepc-k-select:focus {
  outline: none;
  border-color: var(--ws-primary);
  box-shadow: 0 0 0 3px var(--ws-primary-soft);
}

.onepc-k-input[disabled],
.onepc-k-textarea[disabled],
.onepc-k-select[disabled] {
  background: var(--ws-bg);
  color: var(--ws-muted);
  cursor: not-allowed;
}

.onepc-k-input.is-error,
.onepc-k-textarea.is-error {
  border-color: var(--ws-danger);
}
.onepc-k-input.is-error:focus,
.onepc-k-textarea.is-error:focus {
  box-shadow: 0 0 0 3px var(--ws-danger-soft);
}

.onepc-k-textarea {
  padding: 8px 11px;
  line-height: 1.7;
  resize: vertical;
}

.onepc-k-select {
  appearance: none;
  padding-right: 30px;
  background-image: linear-gradient(45deg, transparent 50%, var(--ws-muted) 50%),
    linear-gradient(135deg, var(--ws-muted) 50%, transparent 50%);
  background-position:
    calc(100% - 16px) calc(50% + 1px),
    calc(100% - 11px) calc(50% + 1px);
  background-size:
    5px 5px,
    5px 5px;
  background-repeat: no-repeat;
  cursor: pointer;
}

/* 搜索框：图标 + 输入 + 可选的清除按钮 */
.onepc-k-search {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-sm);
  background: var(--ws-surface);
  color: var(--ws-muted);
  transition:
    border-color 0.15s,
    box-shadow 0.15s;
}

.onepc-k-search:focus-within {
  border-color: var(--ws-primary);
  box-shadow: 0 0 0 3px var(--ws-primary-soft);
}

.onepc-k-search input {
  flex: 1 1 auto;
  min-width: 0;
  border: 0;
  background: transparent;
  color: var(--ws-text);
  font: inherit;
  font-size: 13px;
}
.onepc-k-search input:focus {
  outline: none;
}
.onepc-k-search input::placeholder {
  color: var(--ws-muted);
  opacity: 0.85;
}

.onepc-k-search-clear {
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--ws-muted);
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
}
.onepc-k-search-clear:hover {
  color: var(--ws-text);
}

/* ------------------------------------------------- 勾选 / 单选 / 开关 */

.onepc-k-check,
.onepc-k-radio {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13px;
  color: var(--ws-text);
  cursor: pointer;
}

.onepc-k-check[data-disabled='true'],
.onepc-k-radio[data-disabled='true'] {
  color: var(--ws-muted);
  cursor: not-allowed;
}

.onepc-k-check input,
.onepc-k-radio input {
  flex: 0 0 auto;
  width: 15px;
  height: 15px;
  margin: 3px 0 0;
  accent-color: var(--ws-primary);
  cursor: inherit;
}

.onepc-k-check-desc,
.onepc-k-radio-desc {
  display: block;
  margin-top: 2px;
  font-size: 11.5px;
  color: var(--ws-muted);
}

.onepc-k-check-group,
.onepc-k-radio-group {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.onepc-k-radio-group.is-inline {
  flex-direction: row;
  gap: 18px;
}

/* 开关 */
.onepc-k-switch {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 13px;
  color: var(--ws-text);
  cursor: pointer;
}

.onepc-k-switch[data-disabled='true'] {
  color: var(--ws-muted);
  cursor: not-allowed;
}

.onepc-k-switch-track {
  position: relative;
  width: 38px;
  height: 21px;
  flex: 0 0 38px;
  border: 0;
  border-radius: 999px;
  background: var(--ws-border);
  cursor: inherit;
  transition: background-color 0.18s;
}

.onepc-k-switch-track::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: var(--ws-on-primary, #fff);
  box-shadow: 0 1px 3px rgb(0 0 0 / 22%);
  transition: transform 0.18s;
}

.onepc-k-switch-track[aria-checked='true'] {
  background: var(--ws-primary);
}

.onepc-k-switch-track[aria-checked='true']::after {
  transform: translateX(17px);
}

.onepc-k-switch-track:focus-visible {
  outline: 2px solid var(--ws-primary);
  outline-offset: 2px;
}

/* ------------------------------------------------------------------ 徽标 */

.onepc-k-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 8px;
  border-radius: 999px;
  background: var(--ws-bg);
  color: var(--ws-muted);
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.7;
  white-space: nowrap;
}

.onepc-k-badge.is-primary {
  background: var(--ws-primary-soft);
  color: var(--ws-primary-hover);
}
.onepc-k-badge.is-accent {
  background: var(--ws-secondary-soft);
  color: var(--ws-secondary-hover);
}
.onepc-k-badge.is-success {
  background: var(--ws-success-soft);
  color: var(--ws-success);
}
.onepc-k-badge.is-warning {
  background: var(--ws-warning-soft);
  color: var(--ws-warning);
}
.onepc-k-badge.is-danger {
  background: var(--ws-danger-soft);
  color: var(--ws-danger);
}

.onepc-k-badge-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentcolor;
}

/* 标签：可关闭 */
.onepc-k-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 9px;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-sm);
  background: var(--ws-surface);
  color: var(--ws-text);
  font-size: 12px;
  line-height: 1.6;
}

.onepc-k-tag.is-primary {
  border-color: transparent;
  background: var(--ws-primary-soft);
  color: var(--ws-primary-hover);
}
.onepc-k-tag.is-accent {
  border-color: transparent;
  background: var(--ws-secondary-soft);
  color: var(--ws-secondary-hover);
}

.onepc-k-tag-close {
  display: inline-flex;
  border: 0;
  padding: 0;
  background: transparent;
  color: currentcolor;
  font-size: 11px;
  line-height: 1;
  opacity: 0.6;
  cursor: pointer;
}
.onepc-k-tag-close:hover {
  opacity: 1;
}

/* ------------------------------------------------------------------ 面板 */

.onepc-k-panel {
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-md);
  background: var(--ws-surface);
  overflow: hidden;
}

.onepc-k-panel-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--ws-border);
}

.onepc-k-panel-head h3 {
  margin: 0;
  font-size: 14px;
  font-weight: 650;
  color: var(--ws-text);
}

.onepc-k-panel-head p {
  margin: 2px 0 0;
  font-size: 12px;
  color: var(--ws-muted);
}

.onepc-k-panel-head-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
}

.onepc-k-panel-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border-radius: var(--ws-radius-sm);
  background: var(--ws-primary-soft);
  color: var(--ws-primary);
  font-size: 15px;
}

.onepc-k-panel-body {
  padding: 18px;
}

.onepc-k-panel-body.is-flush {
  padding: 0;
}

.onepc-k-panel-foot {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 18px;
  border-top: 1px solid var(--ws-border);
}

/* 强调块：副主题色的用法之一 */
.onepc-k-panel.is-accent {
  border-color: transparent;
  background: linear-gradient(135deg, var(--ws-secondary-soft), var(--ws-primary-soft));
}

.onepc-k-grid {
  display: grid;
  gap: 16px;
}
.onepc-k-grid.is-2 {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.onepc-k-grid.is-3 {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.onepc-k-grid.is-4 {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.onepc-k-divider {
  height: 1px;
  margin: 18px 0;
  border: 0;
  background: var(--ws-border);
}

.onepc-k-divider.is-vertical {
  width: 1px;
  height: auto;
  align-self: stretch;
  margin: 0 4px;
}

/* 指标块 */
.onepc-k-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 18px;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-md);
  background: var(--ws-surface);
}

.onepc-k-stat-label {
  font-size: 12px;
  color: var(--ws-muted);
}

.onepc-k-stat-value {
  font-size: 25px;
  font-weight: 650;
  letter-spacing: -0.5px;
  color: var(--ws-text);
}

.onepc-k-stat-foot {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  color: var(--ws-muted);
}

.onepc-k-stat-trend.is-up {
  color: var(--ws-danger);
}
.onepc-k-stat-trend.is-down {
  color: var(--ws-success);
}

/* ------------------------------------------------------------------ 页签 */

.onepc-k-tabs {
  display: flex;
  gap: 22px;
  border-bottom: 1px solid var(--ws-border);
  overflow-x: auto;
  scrollbar-width: thin;
}

.onepc-k-tabs button {
  padding: 12px 0;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: var(--ws-muted);
  font: inherit;
  font-size: 13.5px;
  white-space: nowrap;
  cursor: pointer;
  transition:
    color 0.15s,
    border-color 0.15s;
}

.onepc-k-tabs button:hover {
  color: var(--ws-text);
}

.onepc-k-tabs button.is-active {
  color: var(--ws-primary);
  border-color: var(--ws-primary);
  font-weight: 600;
}

.onepc-k-tabs-count {
  margin-left: 5px;
  font-size: 11px;
  opacity: 0.8;
}

/* 分段控件：胶囊型单选，选中态用副主题色 */
.onepc-k-segmented {
  display: inline-flex;
  gap: 2px;
  padding: 3px;
  border-radius: var(--ws-radius-sm);
  background: var(--ws-bg);
}

.onepc-k-segmented button {
  padding: 5px 13px;
  border: 0;
  border-radius: calc(var(--ws-radius-sm) - 2px);
  background: transparent;
  color: var(--ws-muted);
  font: inherit;
  font-size: 12.5px;
  cursor: pointer;
  transition:
    background-color 0.15s,
    color 0.15s;
}

.onepc-k-segmented button:hover {
  color: var(--ws-text);
}

.onepc-k-segmented button.is-active {
  background: var(--ws-surface);
  color: var(--ws-secondary-hover);
  font-weight: 600;
  box-shadow: 0 1px 3px rgb(39 61 89 / 12%);
}

/* ------------------------------------------------------------------ 表格 */

.onepc-k-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.onepc-k-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.onepc-k-table th {
  padding: 11px 14px;
  border-bottom: 1px solid var(--ws-border);
  background: var(--ws-bg);
  color: var(--ws-muted);
  font-size: 12px;
  font-weight: 600;
  text-align: left;
  white-space: nowrap;
}

.onepc-k-table th.is-numeric,
.onepc-k-table td.is-numeric {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.onepc-k-table td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--ws-border);
  color: var(--ws-text);
  vertical-align: middle;
}

.onepc-k-table tbody tr:last-child td {
  border-bottom: 0;
}

.onepc-k-table tbody tr:hover td {
  background: var(--ws-primary-soft);
}

.onepc-k-table td strong {
  display: block;
  font-weight: 600;
}

.onepc-k-table td small {
  display: block;
  margin-top: 2px;
  color: var(--ws-muted);
  font-size: 11.5px;
}

.onepc-k-table-empty {
  padding: 30px 14px;
  color: var(--ws-muted);
  font-size: 13px;
  text-align: center;
}

.onepc-k-pager {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  border-top: 1px solid var(--ws-border);
  font-size: 12px;
  color: var(--ws-muted);
}

.onepc-k-pager-pages {
  margin-left: auto;
  display: flex;
  gap: 4px;
}

.onepc-k-pager-pages button {
  min-width: 26px;
  height: 26px;
  padding: 0 7px;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-sm);
  background: var(--ws-surface);
  color: var(--ws-text);
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}

.onepc-k-pager-pages button.is-active {
  border-color: transparent;
  background: var(--ws-primary);
  color: var(--ws-on-primary, #fff);
}

.onepc-k-pager-pages button[disabled] {
  color: var(--ws-muted);
  cursor: not-allowed;
}

/* ------------------------------------------------------------------ 弹窗 */

/* 动效：面板「缩放 + 轻微上浮」淡入，遮罩淡入；退场反向。
   退场靠 .is-closing —— 原生 dialog 一旦 close() 就立刻从 top layer 摘掉，
   动画根本没机会播，所以 useModal.js 里是先挂这个类、等 animationend 再真正 close()。

   时长只在这里定义一次（Drawer 复用同一组变量），
   JS 侧等 animationend、不硬编码时长，将来改这里 JS 不用动。 */
.onepc-k-dialog {
  --onepc-k-modal-in: 220ms;
  --onepc-k-modal-out: 160ms;
  --onepc-k-modal-ease-in: cubic-bezier(0.16, 1, 0.3, 1);
  --onepc-k-modal-ease-out: cubic-bezier(0.4, 0, 1, 1);
}

.onepc-k-dialog[open] {
  animation: onepc-k-dialog-in var(--onepc-k-modal-in) var(--onepc-k-modal-ease-in) both;
}

.onepc-k-dialog[open]::backdrop {
  animation: onepc-k-fade-in var(--onepc-k-modal-in) ease-out both;
}

/* 退场：权重 (0,3,0) 高于上面的 (0,2,0)，且写在后面 —— 两条都保证它盖住入场动画 */
.onepc-k-dialog[open].is-closing {
  animation: onepc-k-dialog-out var(--onepc-k-modal-out) var(--onepc-k-modal-ease-out) both;
}

.onepc-k-dialog[open].is-closing::backdrop {
  animation: onepc-k-fade-out var(--onepc-k-modal-out) ease-in both;
}

@keyframes onepc-k-dialog-in {
  from {
    opacity: 0;
    transform: scale(0.94) translateY(10px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes onepc-k-dialog-out {
  from {
    opacity: 1;
    transform: none;
  }

  to {
    opacity: 0;
    transform: scale(0.97) translateY(6px);
  }
}

@keyframes onepc-k-fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes onepc-k-fade-out {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

.onepc-k-dialog {
  width: calc(100% - 40px);
  max-width: 520px;
  max-height: calc(100vh - 80px);
  padding: 0;
  border: 0;
  border-radius: var(--ws-radius-lg);
  background: var(--ws-surface);
  color: var(--ws-text);
  font: inherit;
  box-shadow: 0 24px 60px rgb(23 32 48 / 22%);
}

.onepc-k-dialog.is-wide {
  max-width: 760px;
}

.onepc-k-dialog::backdrop {
  background: rgb(17 24 39 / 40%);
  backdrop-filter: blur(1px);
}

.onepc-k-dialog-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 18px 20px 14px;
  border-bottom: 1px solid var(--ws-border);
}

.onepc-k-dialog-title {
  margin: 0;
  font-size: 15.5px;
  font-weight: 650;
  color: var(--ws-text);
}

.onepc-k-dialog-sub {
  margin: 3px 0 0;
  font-size: 12px;
  color: var(--ws-muted);
}

.onepc-k-dialog-close {
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border: 0;
  border-radius: var(--ws-radius-sm);
  background: transparent;
  color: var(--ws-muted);
  cursor: pointer;
}
.onepc-k-dialog-close:hover {
  background: var(--ws-bg);
  color: var(--ws-text);
}

.onepc-k-dialog-body {
  padding: 18px 20px;
  overflow-y: auto;
  max-height: calc(100vh - 240px);
}

.onepc-k-dialog-foot {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 14px 20px 18px;
  border-top: 1px solid var(--ws-border);
}

/* ------------------------------------------------------------------ 反馈 */

/* 提示条 */
.onepc-k-callout {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid var(--ws-border);
  border-left: 3px solid var(--ws-muted);
  border-radius: var(--ws-radius-sm);
  background: var(--ws-surface);
  font-size: 12.5px;
  line-height: 1.7;
  color: var(--ws-text);
}

.onepc-k-callout-icon {
  flex: 0 0 auto;
  margin-top: 2px;
  font-size: 14px;
  color: var(--ws-muted);
}

.onepc-k-callout-title {
  font-weight: 650;
}

.onepc-k-callout.is-info {
  border-left-color: var(--ws-primary);
}
.onepc-k-callout.is-info .onepc-k-callout-icon {
  color: var(--ws-primary);
}

.onepc-k-callout.is-accent {
  border-left-color: var(--ws-secondary);
}
.onepc-k-callout.is-accent .onepc-k-callout-icon {
  color: var(--ws-secondary);
}

.onepc-k-callout.is-success {
  border-left-color: var(--ws-success);
}
.onepc-k-callout.is-success .onepc-k-callout-icon {
  color: var(--ws-success);
}

.onepc-k-callout.is-warning {
  border-left-color: var(--ws-warning);
}
.onepc-k-callout.is-warning .onepc-k-callout-icon {
  color: var(--ws-warning);
}

.onepc-k-callout.is-danger {
  border-left-color: var(--ws-danger);
}
.onepc-k-callout.is-danger .onepc-k-callout-icon {
  color: var(--ws-danger);
}

/* 空态 */
.onepc-k-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 40px 20px;
  text-align: center;
}

.onepc-k-empty-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--ws-primary-soft);
  color: var(--ws-primary);
  font-size: 21px;
}

.onepc-k-empty-title {
  margin: 4px 0 0;
  font-size: 13.5px;
  font-weight: 650;
  color: var(--ws-text);
}

.onepc-k-empty-desc {
  margin: 0;
  max-width: 380px;
  font-size: 12px;
  line-height: 1.7;
  color: var(--ws-muted);
}

/* 进度条 */
.onepc-k-progress {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.onepc-k-progress-head {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: var(--ws-muted);
}

.onepc-k-progress-track {
  height: 7px;
  border-radius: 999px;
  background: var(--ws-bg);
  overflow: hidden;
}

.onepc-k-progress-fill {
  height: 100%;
  border-radius: 999px;
  background: var(--ws-primary);
  transition: width 0.3s;
}
.onepc-k-progress-fill.is-accent {
  background: var(--ws-secondary);
}
.onepc-k-progress-fill.is-success {
  background: var(--ws-success);
}
.onepc-k-progress-fill.is-warning {
  background: var(--ws-warning);
}
.onepc-k-progress-fill.is-danger {
  background: var(--ws-danger);
}

/* 头像 */
.onepc-k-avatar {
  /* 尺寸只在这里定义一处：宽高与「头像组的重叠量」都从它派生（见下面的 avatar-group） */
  --onepc-k-avatar-size: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--onepc-k-avatar-size);
  height: var(--onepc-k-avatar-size);
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--ws-primary);
  color: var(--ws-on-primary, #fff);
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 0.5px;
  user-select: none;
  /* 缩写永远单行。曾经漏了这句，头像组里 is-sm（26px）时两个字被挤成竖排 */
  white-space: nowrap;
}

.onepc-k-avatar.is-accent {
  background: var(--ws-secondary);
}
.onepc-k-avatar.is-sm {
  --onepc-k-avatar-size: 26px;
  font-size: 11px;
}
.onepc-k-avatar.is-lg {
  --onepc-k-avatar-size: 46px;
  font-size: 17px;
}
.onepc-k-avatar.is-square {
  border-radius: var(--ws-radius-md);
}
.onepc-k-avatar.is-muted {
  background: var(--ws-bg);
  color: var(--ws-muted);
}

/* 头像组：靠负 margin 堆叠，用 box-shadow 画分隔环。
   两个坑都在这两行里：
   ① **不能用 border**。组内头像也是 box-sizing: border-box，2px 边框会把内容盒吃掉 4px
      —— is-sm 头像 26px 只剩 22px，而两个中文字（11px + 0.5px 字距）需要约 23px，
      于是每个字各占一行，看着就是「竖排」。box-shadow 画在盒外、不参与盒模型，
      内容盒保持 26px，环的视觉效果与 border 完全相同。
   ② **重叠量要跟着尺寸等比**，写死 -9px 时：26px 头像被盖掉 35%（两个字缺一半），
      46px 的才盖 20%（几乎看不出叠）。统一按约 26.5% 算，三种尺寸观感一致。 */
.onepc-k-avatar-group {
  display: inline-flex;
}

.onepc-k-avatar-group .onepc-k-avatar {
  box-shadow: 0 0 0 2px var(--ws-surface);
  margin-left: calc(var(--onepc-k-avatar-size) * -0.265);
}
.onepc-k-avatar-group .onepc-k-avatar:first-child {
  margin-left: 0;
}

/* 加载点 */
.onepc-k-spinner {
  display: inline-block;
  width: 15px;
  height: 15px;
  border: 2px solid var(--ws-primary-soft);
  border-top-color: var(--ws-primary);
  border-radius: 50%;
  animation: onepc-k-spin 0.7s linear infinite;
}

.onepc-k-spinner.is-sm {
  width: 12px;
  height: 12px;
  border-width: 2px;
}

@keyframes onepc-k-spin {
  to {
    transform: rotate(360deg);
  }
}

/* 骨架屏 */
.onepc-k-skeleton {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.onepc-k-skeleton-bar {
  height: 12px;
  border-radius: 6px;
  background: linear-gradient(90deg, var(--ws-bg), var(--ws-border), var(--ws-bg));
  background-size: 200% 100%;
  animation: onepc-k-shimmer 1.4s ease-in-out infinite;
}

.onepc-k-skeleton-bar.is-title {
  height: 17px;
  width: 40%;
}

@keyframes onepc-k-shimmer {
  from {
    background-position: 200% 0;
  }
  to {
    background-position: -200% 0;
  }
}

/* 代码块：展示页用来标注对应的 CSS 变量 */
.onepc-k-code {
  margin: 0;
  padding: 12px 14px;
  border-radius: var(--ws-radius-sm);
  background: var(--ws-bg);
  color: var(--ws-text);
  font-family: var(--ws-mono);
  font-size: 12px;
  line-height: 1.8;
  overflow-x: auto;
  white-space: pre;
}

/* ==========================================================================
   第二批：浮层 / 导航 / 折叠 / 描述 / 分页 / 增强表单 / 筛选 / 轻提示
   --------------------------------------------------------------------------
   全部沿用 onepc-k- 前缀与 --ws-* 令牌，无新增硬编码颜色
   （只有 #fff 与几处半透明遮罩的白色，与既有 ::backdrop 一致）。
   ========================================================================== */

/* ------------------------------------------------------------------ 文字提示 */
/* 纯 CSS 触发：hover 或键盘聚焦。不做 JS 定位，所以位置由 placement 决定 */
.onepc-k-tip-wrap {
  position: relative;
  display: inline-flex;
}

.onepc-k-tip {
  position: absolute;
  z-index: 40;
  padding: 5px 9px;
  border-radius: var(--ws-radius-sm);
  background: var(--ws-text);
  color: var(--ws-surface);
  font-size: 11.5px;
  line-height: 1.5;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.14s ease, transform 0.14s ease, visibility 0.14s;
  pointer-events: none;
}

.onepc-k-tip-wrap:hover .onepc-k-tip,
.onepc-k-tip-wrap:focus-within .onepc-k-tip {
  opacity: 1;
  visibility: visible;
  transform: none;
}

.onepc-k-tip.is-top {
  bottom: calc(100% + 7px);
  left: 0;
  transform: translateY(2px);
}
.onepc-k-tip.is-bottom {
  top: calc(100% + 7px);
  left: 0;
  transform: translateY(-2px);
}
.onepc-k-tip.is-left {
  right: calc(100% + 7px);
  top: 50%;
  translate: 0 -50%;
  transform: translateX(2px);
}
.onepc-k-tip.is-right {
  left: calc(100% + 7px);
  top: 50%;
  translate: 0 -50%;
  transform: translateX(-2px);
}

/* ------------------------------------------------------------------ 锚定气泡 */
.onepc-k-anchor {
  position: relative;
  display: inline-flex;
}

.onepc-k-pop {
  position: absolute;
  top: calc(100% + 6px);
  z-index: 50;
  display: block;
  min-width: 160px;
}

.onepc-k-pop.is-start {
  left: 0;
}
.onepc-k-pop.is-end {
  right: 0;
}

/* 正常交互态：面板用 fixed 定位，坐标由 JS 量出来（见 ui/Overlay.jsx 的 Anchor）。
   为什么不用 absolute —— 祖先里到处是 overflow: hidden / auto（典型是
   `.onepc-k-panel { overflow: hidden }`），绝对定位的面板会被那块「包住的框」整块裁掉：
   速览页的 Popover 完全不显示、Dropdown 只剩贴着卡片底边的一条缝。
   fixed 的包含块是视口，不受祖先 overflow 影响，面板一定画得完整。
   （`.onepc-user-pop` 早就是这个结论，注释里写着「用 fixed 而非 absolute」。）
   pinned 态不带 is-floating，仍回到文档流、由 CSS 定位。 */
.onepc-k-pop.is-floating {
  position: fixed;
  top: auto;
  left: auto;
  right: auto;
  z-index: 60;
}

/* 常驻展开（组件全览页用它把菜单项一次列全）：面板回到文档流，
   不会浮起来遮住下面的样本 */
.onepc-k-anchor.is-pinned {
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.onepc-k-anchor.is-pinned .onepc-k-pop {
  position: static;
  min-width: 0;
}

/* 下拉菜单 */
.onepc-k-menu {
  display: flex;
  flex-direction: column;
  gap: 1px;
  /* 宽度随内容走：短菜单停在 178px，长文案（如「冻结账号（禁用）」之上更长的条目）
     自动变宽到一行装得下，不再被挤成两三行；上限兜住小窗口，不会顶出视口。 */
  width: max-content;
  min-width: 178px;
  max-width: min(92vw, 320px);
  padding: 5px;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-md);
  background: var(--ws-surface);
  box-shadow: 0 12px 32px rgb(23 32 48 / 14%);
}

.onepc-k-menu-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 7px 9px;
  border: 0;
  border-radius: var(--ws-radius-sm);
  background: transparent;
  color: var(--ws-text);
  font: inherit;
  font-size: 12.5px;
  text-align: left;
  cursor: pointer;
}

.onepc-k-menu-item:not([disabled]):hover {
  background: var(--ws-bg);
}

.onepc-k-menu-item.is-danger {
  color: var(--ws-danger);
}
.onepc-k-menu-item.is-danger:not([disabled]):hover {
  background: var(--ws-danger-soft);
}

.onepc-k-menu-item[disabled] {
  color: var(--ws-muted);
  cursor: not-allowed;
}

.onepc-k-menu-label {
  flex: 1;
  min-width: 0;
  /* 菜单项一律单行：宽度由 .onepc-k-menu 的 max-content 撑开。
     真到了 320px 上限还放不下，宁可省略号也不要换行把菜单撑高。 */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.onepc-k-menu-kbd {
  padding: 1px 5px;
  border: 1px solid var(--ws-border);
  border-radius: 5px;
  color: var(--ws-muted);
  font-family: var(--ws-mono);
  font-size: 10.5px;
}

.onepc-k-menu-divider {
  height: 1px;
  margin: 4px 2px;
  background: var(--ws-border);
}

/* 通用气泡卡 */
.onepc-k-pop-card {
  display: block;
  /* 宽度随内容自适应：短文案停在 240px，长文案自己变宽到一行装得下（上限 380px），
     不必再挤成又窄又长的两三行。上限同时兜住小窗口，不会顶出视口。 */
  width: max-content;
  min-width: 240px;
  max-width: min(92vw, 380px);
  padding: 13px 14px;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-md);
  background: var(--ws-surface);
  box-shadow: 0 12px 32px rgb(23 32 48 / 14%);
}

.onepc-k-pop-card.is-wide {
  min-width: 320px;
  max-width: min(92vw, 480px);
}

.onepc-k-pop-title {
  display: block;
  margin-bottom: 5px;
  color: var(--ws-text);
  font-size: 13px;
}

.onepc-k-pop-body {
  display: block;
  color: var(--ws-muted);
  font-size: 12px;
  line-height: 1.65;
}

/* 气泡确认 */
.onepc-k-confirm {
  display: block;
  /* 同气泡卡：随内容自适应，最短 228px，长标题才变宽（上限 360px） */
  width: max-content;
  min-width: 228px;
  max-width: min(92vw, 360px);
  padding: 12px 13px;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-md);
  background: var(--ws-surface);
  box-shadow: 0 12px 32px rgb(23 32 48 / 14%);
}

.onepc-k-confirm-head {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--ws-text);
  font-size: 12.5px;
}

.onepc-k-confirm-icon {
  color: var(--ws-warning);
}

.onepc-k-confirm-desc {
  display: block;
  margin-top: 6px;
  color: var(--ws-muted);
  font-size: 11.5px;
  line-height: 1.6;
}

.onepc-k-confirm-foot {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  margin-top: 10px;
}

/* ------------------------------------------------------- 日期时间选择器 */

/* Anchor 默认 inline-flex 且宽度随内容；选择器要像输入框一样占满 Field 的宽度 */
.onepc-k-anchor.onepc-k-dt {
  display: flex;
  width: 100%;
  min-width: 0;
}

/* 触发器：外观与 .onepc-k-input 对齐（边框/圆角/最小高度/字号） */
.onepc-k-dt-box {
  display: flex;
  align-items: center;
  gap: 7px;
  width: 100%;
  min-width: 0;
  min-height: 34px;
  padding: 0 8px 0 10px;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-sm);
  background: var(--ws-surface);
  color: var(--ws-text);
  font-size: 13px;
  cursor: pointer;
  transition:
    border-color 0.15s,
    box-shadow 0.15s;
}

.onepc-k-dt-box:hover {
  border-color: var(--ws-muted);
}

.onepc-k-dt.is-open .onepc-k-dt-box {
  border-color: var(--ws-primary);
  box-shadow: 0 0 0 3px var(--ws-primary-soft);
}

.onepc-k-dt.is-error .onepc-k-dt-box {
  border-color: var(--ws-danger);
}

.onepc-k-dt.is-disabled .onepc-k-dt-box {
  background: var(--ws-bg);
  color: var(--ws-muted);
  cursor: not-allowed;
}

.onepc-k-dt-icon {
  flex: none;
  color: var(--ws-muted);
}

.onepc-k-dt-input {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 13px;
  line-height: 1.2;
  outline: none;
  cursor: inherit;
}

.onepc-k-dt-input::placeholder {
  color: var(--ws-muted);
  opacity: 0.85;
}

/* 清除键：默认隐身，悬停 / 展开时才浮出来，避免和日期文本抢注意力 */
.onepc-k-dt-clear {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--ws-border);
  color: var(--ws-surface);
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.15s;
}

.onepc-k-dt-box:hover .onepc-k-dt-clear,
.onepc-k-dt.is-open .onepc-k-dt-clear {
  opacity: 1;
}

/* 面板：宽度由内容撑（月历 7×32、年/月格子 224），上限兜住小窗口。
   定位/裁剪交给 .onepc-k-pop（fixed），这里只管外观。 */
.onepc-k-dt-pop {
  display: block;
  width: max-content;
  /* 上限要装得下「快捷项 + 左右两个整月」（约 566px），否则区间面板会被压变形 */
  max-width: min(94vw, 640px);
  padding: 8px 10px 10px;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-md);
  background: var(--ws-surface);
  box-shadow: 0 12px 32px rgb(23 32 48 / 14%);
  color: var(--ws-text);
  font-size: 12.5px;
}

/* ---------------------------------------------------------- 面板：头部 */

.onepc-k-dt-head {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 2px 0 7px;
}

.onepc-k-dt-label {
  flex: 1 1 auto;
  padding: 3px 6px;
  border: 0;
  border-radius: var(--ws-radius-sm);
  background: transparent;
  color: var(--ws-text);
  font: inherit;
  font-size: 12.5px;
  font-weight: 600;
  cursor: pointer;
}

button.onepc-k-dt-label:hover {
  background: var(--ws-bg);
  color: var(--ws-primary);
}

.onepc-k-dt-label.is-static {
  cursor: default;
}

.onepc-k-dt-nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 22px;
  height: 22px;
  padding: 0;
  border: 0;
  border-radius: var(--ws-radius-sm);
  background: transparent;
  color: var(--ws-muted);
  cursor: pointer;
}

.onepc-k-dt-nav:hover {
  background: var(--ws-bg);
  color: var(--ws-primary);
}

/* 双箭头（跳年 / 跳十年）：两个 chevron 叠近一点 */
.onepc-k-dt-nav.is-double .anticon + .anticon {
  margin-left: -6px;
}

.onepc-k-dt-sub {
  padding: 0 0 6px;
  color: var(--ws-muted);
  font-size: 11.5px;
}

/* ------------------------------------------------------ 面板：日期网格 */

.onepc-k-dt-grid {
  display: grid;
  grid-template-columns: repeat(7, 32px);
  gap: 2px 0;
}

/* 周选择多一列周号 */
.onepc-k-dt-grid.is-week {
  grid-template-columns: 26px repeat(7, 32px);
}

.onepc-k-dt-dow {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 24px;
  color: var(--ws-muted);
  font-size: 11px;
  font-weight: 600;
}

.onepc-k-dt-wk {
  height: 28px;
  border: 0;
  border-radius: var(--ws-radius-sm);
  background: transparent;
  color: var(--ws-muted);
  font: inherit;
  font-size: 11px;
  cursor: pointer;
}

.onepc-k-dt-wk:hover {
  background: var(--ws-bg);
  color: var(--ws-primary);
}

.onepc-k-dt-wk.is-sel {
  color: var(--ws-primary);
  font-weight: 600;
}

.onepc-k-dt-cell {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ws-text);
  font: inherit;
  font-size: 12.5px;
  cursor: pointer;
}

/* 区间带子：靠 cl/cr（前后格是否也在带内）决定左右边界，
   于是行程首尾自动收成圆角、跨周时在行的两端断开 */
.onepc-k-dt-band {
  position: absolute;
  top: 3px;
  bottom: 3px;
  z-index: 0;
  background: var(--ws-primary-soft);
}

.onepc-k-dt-day {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  transition:
    background 0.12s,
    color 0.12s;
}

.onepc-k-dt-cell:hover .onepc-k-dt-day {
  background: var(--ws-bg);
}

.onepc-k-dt-cell.is-out .onepc-k-dt-day {
  color: var(--ws-muted);
  opacity: 0.55;
}

.onepc-k-dt-cell.is-today .onepc-k-dt-day {
  box-shadow: inset 0 0 0 1px var(--ws-primary);
}

/* 单选选中态 / 区间两端 */
.onepc-k-dt-cell.is-ep .onepc-k-dt-day {
  background: var(--ws-primary);
  color: var(--ws-on-primary, #fff);
}

.onepc-k-dt-cell.is-ep:hover .onepc-k-dt-day {
  background: var(--ws-primary-hover);
}

.onepc-k-dt-cell.is-week-pick .onepc-k-dt-day {
  color: var(--ws-primary);
  font-weight: 600;
}

.onepc-k-dt-cell[disabled] {
  cursor: not-allowed;
}

.onepc-k-dt-cell[disabled] .onepc-k-dt-day {
  color: var(--ws-muted);
  opacity: 0.4;
}

/* -------------------------------------------------- 面板：年 / 月 / 季度 */

.onepc-k-dt-cells {
  display: grid;
  grid-template-columns: repeat(var(--onepc-k-dt-cols, 3), 1fr);
  gap: 4px;
  /* 撑到和月历同宽（7×32 = 224），三块面板切换时不会来回跳宽度 */
  min-width: 224px;
}

.onepc-k-dt-cell-lg {
  height: 30px;
  border: 0;
  border-radius: var(--ws-radius-sm);
  background: transparent;
  color: var(--ws-text);
  font: inherit;
  font-size: 12.5px;
  cursor: pointer;
  transition:
    background 0.12s,
    color 0.12s;
}

.onepc-k-dt-cell-lg:hover {
  background: var(--ws-bg);
}

.onepc-k-dt-cell-lg.is-today {
  color: var(--ws-primary);
}

.onepc-k-dt-cell-lg.is-sel {
  background: var(--ws-primary);
  color: var(--ws-on-primary, #fff);
}

.onepc-k-dt-cell-lg[disabled] {
  color: var(--ws-muted);
  opacity: 0.45;
  cursor: not-allowed;
}

/* ------------------------------------------------------------ 面板：时间 */

.onepc-k-dt-tgroup {
  display: flex;
  gap: 4px;
}

.onepc-k-dt-times {
  display: flex;
  gap: 10px;
}

.onepc-k-dt-timebox-h {
  padding-bottom: 4px;
  color: var(--ws-muted);
  font-size: 11px;
}

.onepc-k-dt-tcol {
  flex: 1 1 0;
  min-width: 52px;
}

.onepc-k-dt-tcol-h {
  padding: 0 0 4px;
  color: var(--ws-muted);
  font-size: 11px;
  text-align: center;
}

.onepc-k-dt-tlist {
  /* TimeCol 里用 offsetTop 做居中滚动，这里必须是定位祖先 */
  position: relative;
  height: 190px;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-sm);
  list-style: none;
  scrollbar-width: thin;
}

.onepc-k-dt-titem {
  display: block;
  width: 100%;
  height: 26px;
  border: 0;
  background: transparent;
  color: var(--ws-text);
  font: inherit;
  font-size: 12.5px;
  cursor: pointer;
}

.onepc-k-dt-titem:hover {
  background: var(--ws-bg);
}

.onepc-k-dt-titem.is-sel {
  background: var(--ws-primary);
  color: var(--ws-on-primary, #fff);
  font-weight: 600;
  /* 选中行收个圆角：正好压在滚动容器的圆角边框里，不会顶出直角 */
  border-radius: var(--ws-radius-sm);
}

/* --------------------------------------------------------- 面板：区间 */

.onepc-k-dt-rangewrap {
  display: flex;
  gap: 10px;
}

.onepc-k-dt-presets {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-right: 8px;
  border-right: 1px solid var(--ws-border);
}

.onepc-k-dt-preset {
  padding: 4px 8px;
  border: 0;
  border-radius: var(--ws-radius-sm);
  background: transparent;
  color: var(--ws-text);
  font: inherit;
  font-size: 12px;
  white-space: nowrap;
  text-align: left;
  cursor: pointer;
}

.onepc-k-dt-preset:hover {
  background: var(--ws-bg);
  color: var(--ws-primary);
}

.onepc-k-dt-panes {
  display: flex;
  gap: 12px;
}

/* --------------------------------------------------------- 面板：底部 */

.onepc-k-dt-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 9px;
  padding-top: 8px;
  border-top: 1px solid var(--ws-border);
}

.onepc-k-dt-foot-val {
  color: var(--ws-muted);
  font-size: 12px;
  white-space: nowrap;
}

.onepc-k-dt-sep {
  margin: 0 2px;
}

.onepc-k-dt-foot-btns {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* 日期时间：日历与时间列并排（antd 的观感，比上下堆叠省一半高度） */
.onepc-k-dt-dtmain {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.onepc-k-dt-dtmain .onepc-k-dt-tlist {
  height: 176px;
}

/* 窄屏：双月历、预设、日历+时间一律改纵向堆叠，避免面板横向溢出 */
@media (max-width: 620px) {
  .onepc-k-dt-rangewrap {
    flex-direction: column;
  }

  .onepc-k-dt-presets {
    flex-direction: row;
    flex-wrap: wrap;
    padding: 0 0 6px;
    border-right: 0;
    border-bottom: 1px solid var(--ws-border);
  }

  .onepc-k-dt-panes {
    flex-direction: column;
  }

  .onepc-k-dt-dtmain {
    flex-direction: column;
  }

  .onepc-k-dt-dtmain .onepc-k-dt-tlist {
    height: 120px;
  }
}

/* ------------------------------------------------------------------ 抽屉 */

/* 动效：从贴边的那一侧整体滑入 / 滑出（不加淡入 —— 抽屉要的是「滑」，不是「现」）。
   方向靠 .is-left 覆盖 animation-name，所以左抽屉的 in / out 两条都要单独写，
   否则它会误用右抽屉的关键帧、从右边滑出来。
   时长比弹窗略长：位移距离远，太快会显得闪。 */
.onepc-k-drawer {
  --onepc-k-modal-in: 260ms;
  --onepc-k-modal-out: 200ms;
  --onepc-k-modal-ease-in: cubic-bezier(0.16, 1, 0.3, 1);
  --onepc-k-modal-ease-out: cubic-bezier(0.4, 0, 1, 1);
}

.onepc-k-drawer[open] {
  animation: onepc-k-drawer-in-right var(--onepc-k-modal-in) var(--onepc-k-modal-ease-in) both;
}

.onepc-k-drawer.is-left[open] {
  animation-name: onepc-k-drawer-in-left;
}

.onepc-k-drawer[open]::backdrop {
  animation: onepc-k-fade-in var(--onepc-k-modal-in) ease-out both;
}

/* 退场：(0,3,0) / (0,4,0) 都高于入场的 (0,2,0) / (0,3,0)，且写在后面 */
.onepc-k-drawer[open].is-closing {
  animation: onepc-k-drawer-out-right var(--onepc-k-modal-out) var(--onepc-k-modal-ease-out) both;
}

.onepc-k-drawer.is-left[open].is-closing {
  animation-name: onepc-k-drawer-out-left;
}

.onepc-k-drawer[open].is-closing::backdrop {
  animation: onepc-k-fade-out var(--onepc-k-modal-out) ease-in both;
}

@keyframes onepc-k-drawer-in-right {
  from {
    transform: translateX(100%);
  }

  to {
    transform: none;
  }
}

@keyframes onepc-k-drawer-out-right {
  from {
    transform: none;
  }

  to {
    transform: translateX(100%);
  }
}

@keyframes onepc-k-drawer-in-left {
  from {
    transform: translateX(-100%);
  }

  to {
    transform: none;
  }
}

@keyframes onepc-k-drawer-out-left {
  from {
    transform: none;
  }

  to {
    transform: translateX(-100%);
  }
}

/* 系统开了「减弱动效」时几乎瞬开瞬关。
   用 1ms 而不是 none —— animation 被设成 none 就不派发 animationend，
   而 useModal.js 正是靠 animationend 收尾退场的（另有 400ms 兜底，但没必要让它空等）。
   特异性和外面一一对应，靠「媒体查询写在后面」取胜。 */
@media (prefers-reduced-motion: reduce) {
  .onepc-k-dialog[open],
  .onepc-k-dialog[open].is-closing,
  .onepc-k-dialog[open]::backdrop,
  .onepc-k-dialog[open].is-closing::backdrop,
  .onepc-k-drawer[open],
  .onepc-k-drawer.is-left[open],
  .onepc-k-drawer[open].is-closing,
  .onepc-k-drawer.is-left[open].is-closing,
  .onepc-k-drawer[open]::backdrop,
  .onepc-k-drawer[open].is-closing::backdrop {
    animation-duration: 1ms;
  }
}

/* 同 Dialog 一样是原生 <dialog>，只是贴边全高。
   fixed + inset-block:0 定位 —— 全局 reset 把 dialog 的 margin 清成 0 正好，
   抽屉本来就不需要居中。 */
.onepc-k-drawer {
  position: fixed;
  inset-block: 0;
  height: 100%;
  max-height: 100%;
  max-width: 100vw;
  margin: 0;
  padding: 0;
  border: 0;
  background: var(--ws-surface);
  color: var(--ws-text);
  font: inherit;
  box-shadow: 0 24px 60px rgb(23 32 48 / 22%);
}

/* 只在打开时改成纵向 flex，否则会盖掉 UA 对 dialog:not([open]) 的 display:none */
.onepc-k-drawer[open] {
  display: flex;
  flex-direction: column;
}

.onepc-k-drawer.is-right {
  inset-inline: auto 0;
}
.onepc-k-drawer.is-left {
  inset-inline: 0 auto;
}

.onepc-k-drawer::backdrop {
  background: rgb(17 24 39 / 40%);
  backdrop-filter: blur(1px);
}

.onepc-k-drawer-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 18px 20px 14px;
  border-bottom: 1px solid var(--ws-border);
}

.onepc-k-drawer-title {
  margin: 0;
  color: var(--ws-text);
  font-size: 15.5px;
  font-weight: 650;
}

.onepc-k-drawer-sub {
  margin: 3px 0 0;
  color: var(--ws-muted);
  font-size: 12px;
}

.onepc-k-drawer-body {
  flex: 1;
  padding: 18px 20px;
  overflow-y: auto;
}

.onepc-k-drawer-foot {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 14px 20px 18px;
  border-top: 1px solid var(--ws-border);
}

/* ------------------------------------------------------------------ 面包屑 */
.onepc-k-crumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  font-size: 12.5px;
}

.onepc-k-crumb-item {
  display: inline-flex;
  align-items: center;
}

.onepc-k-crumb-sep {
  padding: 0 5px;
  color: var(--ws-muted);
  font-size: 11px;
  opacity: 0.72;
}

.onepc-k-crumb-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 4px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: var(--ws-muted);
  font: inherit;
  font-size: 12.5px;
  cursor: pointer;
}

.onepc-k-crumb-link:hover {
  background: var(--ws-bg);
  color: var(--ws-primary);
}

.onepc-k-crumb-cur {
  padding: 2px 4px;
  color: var(--ws-text);
  font-weight: 600;
}

/* ------------------------------------------------------------------ 步骤条 */
.onepc-k-steps {
  /* 圆点直径：连接线的位置由它派生，以后调尺寸不用再手工对数字 */
  --onepc-k-step-dot-size: 22px;
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}

.onepc-k-steps.is-vertical {
  flex-direction: column;
}

.onepc-k-step {
  position: relative;
  flex: 1;
  min-width: 0;
}

.onepc-k-step-hit {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  width: 100%;
  padding: 0 14px 0 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.onepc-k-step-hit[disabled] {
  cursor: default;
}

.onepc-k-step-dot {
  flex: 0 0 var(--onepc-k-step-dot-size, 22px);
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--onepc-k-step-dot-size, 22px);
  height: var(--onepc-k-step-dot-size, 22px);
  border: 1px solid var(--ws-border);
  border-radius: 999px;
  background: var(--ws-surface);
  color: var(--ws-muted);
  font-size: 11.5px;
  font-weight: 600;
}

.onepc-k-step.is-current .onepc-k-step-dot {
  border-color: transparent;
  background: var(--ws-primary);
  color: var(--ws-on-primary, #fff);
}

.onepc-k-step.is-done .onepc-k-step-dot {
  border-color: transparent;
  background: var(--ws-primary-soft);
  color: var(--ws-primary);
}

.onepc-k-step-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding-top: 2px;
}

.onepc-k-step-text strong {
  color: var(--ws-muted);
  font-size: 12.5px;
  font-weight: 600;
}

.onepc-k-step.is-current .onepc-k-step-text strong,
.onepc-k-step.is-done .onepc-k-step-text strong {
  color: var(--ws-text);
}

.onepc-k-step-text small {
  color: var(--ws-muted);
  font-size: 11.5px;
}

/* 横排：圆点在上、文字在下。
   原先圆点和文字并排，而连接线必须走圆点中心那条水平带 —— 那条带正好穿过标题的文字带，
   于是「横线横穿标题」。更关键的是并排时没有空间留给线：面板 443px / 4 步 = 110.75px，
   而「圆点 22 + 间距 9 + 文字 69 + 右留白 14」已经 114px，线只能压在字上。
   把文字移到圆点下方后：① 线走的那条带只剩圆点自己，不再有文字；
   ② 文字不再被圆点吃掉 31px，窄容器下也不会一个字一行。 */
.onepc-k-steps.is-horizontal .onepc-k-step-hit {
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
}

.onepc-k-steps.is-horizontal .onepc-k-step-text {
  padding-top: 0;
}

/* 连接线：横排拉横线（对齐圆点中心），竖排拉竖线 */
.onepc-k-steps.is-horizontal .onepc-k-step:not(:last-child)::after {
  content: '';
  position: absolute;
  top: calc(var(--onepc-k-step-dot-size, 22px) / 2);
  left: calc(var(--onepc-k-step-dot-size, 22px) + 8px);
  right: 10px;
  height: 1px;
  background: var(--ws-border);
}

.onepc-k-steps.is-vertical .onepc-k-step {
  padding-bottom: 16px;
}

.onepc-k-steps.is-vertical .onepc-k-step:not(:last-child)::after {
  content: '';
  position: absolute;
  top: 28px;
  bottom: 4px;
  left: 10.5px;
  width: 1px;
  background: var(--ws-border);
}

/* ------------------------------------------------------------------ 时间线 */
.onepc-k-timeline {
  margin: 0;
  padding: 0;
  list-style: none;
}

.onepc-k-tl-item {
  position: relative;
  display: flex;
  gap: 12px;
  padding-bottom: 16px;
}

.onepc-k-tl-item:not(:last-child)::before {
  content: '';
  position: absolute;
  top: 19px;
  bottom: 0;
  left: 6px;
  width: 1px;
  background: var(--ws-border);
}

.onepc-k-tl-dot {
  position: relative;
  z-index: 1;
  flex: 0 0 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 13px;
  height: 13px;
  margin-top: 3px;
  border-radius: 999px;
  background: var(--ws-border);
  color: var(--ws-on-primary, #fff);
}

.onepc-k-tl-item.is-primary .onepc-k-tl-dot {
  background: var(--ws-primary);
}
.onepc-k-tl-item.is-success .onepc-k-tl-dot {
  background: var(--ws-success);
}
.onepc-k-tl-item.is-warning .onepc-k-tl-dot {
  background: var(--ws-warning);
}
.onepc-k-tl-item.is-danger .onepc-k-tl-dot {
  background: var(--ws-danger);
}

.onepc-k-tl-main {
  flex: 1;
  min-width: 0;
}

.onepc-k-tl-head {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.onepc-k-tl-head strong {
  color: var(--ws-text);
  font-size: 12.5px;
}

.onepc-k-tl-time {
  color: var(--ws-muted);
  font-family: var(--ws-mono);
  font-size: 11.5px;
}

.onepc-k-tl-desc {
  margin: 3px 0 0;
  color: var(--ws-muted);
  font-size: 11.5px;
  line-height: 1.65;
}

/* ------------------------------------------------------------------ 折叠面板 */
.onepc-k-collapse {
  display: flex;
  flex-direction: column;
}

.onepc-k-collapse.is-bordered {
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-md);
  overflow: hidden;
}

.onepc-k-collapse-item + .onepc-k-collapse-item {
  border-top: 1px solid var(--ws-border);
}

.onepc-k-collapse-head {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  padding: 12px 14px;
  border: 0;
  background: transparent;
  color: var(--ws-text);
  font: inherit;
  font-size: 13px;
  text-align: left;
  cursor: pointer;
}

.onepc-k-collapse-head:not([disabled]):hover {
  background: var(--ws-bg);
}

.onepc-k-collapse-head[disabled] {
  color: var(--ws-muted);
  cursor: not-allowed;
}

.onepc-k-collapse-title {
  font-weight: 600;
}

.onepc-k-collapse-desc {
  color: var(--ws-muted);
  font-size: 11.5px;
}

.onepc-k-collapse-caret {
  margin-left: auto;
  color: var(--ws-muted);
  transition: transform 0.16s ease;
}

.onepc-k-collapse-item.is-open .onepc-k-collapse-caret {
  transform: rotate(180deg);
}

.onepc-k-collapse-body {
  padding: 2px 14px 14px;
  color: var(--ws-muted);
  font-size: 12.5px;
  line-height: 1.7;
}

/* ------------------------------------------------------------------ 描述列表 */
/* 标签列宽 / 标签与取值的间距 / 取值的最小可读宽度 —— 三处都可在外层覆盖 */
.onepc-k-desc {
  --onepc-k-desc-label-w: 92px;
  --onepc-k-desc-gap: 10px;
  --onepc-k-desc-value-min: 112px;
}

.onepc-k-desc-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.onepc-k-desc-head strong {
  color: var(--ws-text);
  font-size: 13px;
}

.onepc-k-desc-extra {
  margin-left: auto;
  color: var(--ws-muted);
  font-size: 12px;
}

.onepc-k-desc-grid {
  display: grid;
  grid-template-columns: repeat(var(--onepc-k-desc-cols, 2), minmax(0, 1fr));
  margin: 0;
}

/* 列宽不足时允许取值整段换到下一行，而不是被固定 92px 的标签挤成一字一行 */
.onepc-k-desc-cell {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--onepc-k-desc-gap, 10px);
  row-gap: 3px;
  padding: 9px 0;
}

.onepc-k-desc-cell.is-span {
  grid-column: 1 / -1;
}

.onepc-k-desc-cell dt {
  flex: 0 0 var(--onepc-k-desc-label-w, 92px);
  max-width: 100%;
  overflow-wrap: anywhere;
  margin: 0;
  color: var(--ws-muted);
  font-size: 12.5px;
}

.onepc-k-desc-cell dd {
  flex: 1 1 auto;
  /* 取不到最小可读宽度就让位整行；min(…, 100%) 保证极窄容器下也不会撑破网格 */
  min-width: min(var(--onepc-k-desc-value-min, 112px), 100%);
  overflow-wrap: anywhere;
  margin: 0;
  color: var(--ws-text);
  font-size: 12.5px;
}

.onepc-k-desc.is-bordered .onepc-k-desc-grid {
  gap: 8px;
}

.onepc-k-desc.is-bordered .onepc-k-desc-cell {
  padding: 9px 12px;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-sm);
}

/* 移动端 / 窄容器：多列键值对统一收成一列。
   用「每格横跨整行」实现，不依赖具体列数，所以 columns=1 的用法不会被改坏。
   640px 是按 OnePC 控制台的真实内容区宽度定的：视口 ≤640 时侧边栏占掉大半，内容区常不到 400px，
   3 列摊开后每列只剩几十像素，只能收成一列。 */
@media (max-width: 640px) {
  .onepc-k-desc-cell {
    grid-column: 1 / -1;
  }
}

/* ------------------------------------------------------------------ 分页补充 */
/* is-between（默认）：左摘要右页码；is-end / is-center：藏摘要，页右对齐 / 居中 */
.onepc-k-pager.is-end .onepc-k-pager-info,
.onepc-k-pager.is-center .onepc-k-pager-info {
  display: none;
}

.onepc-k-pager.is-center {
  justify-content: center;
}

.onepc-k-pager.is-center .onepc-k-pager-pages {
  margin-left: 0;
}

.onepc-k-pager-jump {
  display: inline-flex;
  align-items: center;
  padding: 0 6px;
  color: var(--ws-muted);
  font-size: 12px;
}

/* ------------------------------------------------------------------ 滑块 */
.onepc-k-slider {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12.5px;
}

.onepc-k-slider.is-disabled {
  opacity: 0.55;
}

.onepc-k-slider-label {
  flex: 0 0 auto;
  color: var(--ws-muted);
}

.onepc-k-slider-input {
  flex: 1;
  min-width: 0;
  height: 4px;
  margin: 0;
  padding: 0;
  border-radius: 999px;
  background: linear-gradient(
    to right,
    var(--ws-primary) var(--onepc-k-fill, 0%),
    var(--ws-border) var(--onepc-k-fill, 0%)
  );
  appearance: none;
  cursor: pointer;
}

.onepc-k-slider-input::-webkit-slider-thumb {
  width: 14px;
  height: 14px;
  border: 2px solid var(--ws-surface);
  border-radius: 999px;
  background: var(--ws-primary);
  box-shadow: 0 1px 4px rgb(23 32 48 / 28%);
  appearance: none;
}

.onepc-k-slider-input:focus-visible {
  outline: 2px solid var(--ws-primary-soft);
  outline-offset: 3px;
}

.onepc-k-slider.is-disabled .onepc-k-slider-input {
  cursor: not-allowed;
}

.onepc-k-slider-value {
  flex: 0 0 auto;
  min-width: 36px;
  color: var(--ws-text);
  font-family: var(--ws-mono);
  text-align: right;
}

/* ------------------------------------------------------------------ 数字步进器 */
.onepc-k-num {
  display: inline-flex;
  align-items: center;
  height: 30px;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-sm);
  background: var(--ws-surface);
  overflow: hidden;
}

.onepc-k-num:focus-within {
  border-color: var(--ws-primary);
  box-shadow: 0 0 0 3px var(--ws-primary-soft);
}

.onepc-k-num.is-disabled {
  opacity: 0.55;
}

.onepc-k-num-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 28px;
  border: 0;
  background: transparent;
  color: var(--ws-muted);
  cursor: pointer;
}

.onepc-k-num-btn:not([disabled]):hover {
  background: var(--ws-bg);
  color: var(--ws-primary);
}

.onepc-k-num-btn[disabled] {
  color: var(--ws-border);
  cursor: not-allowed;
}

.onepc-k-num-box {
  display: inline-flex;
  align-items: center;
}

.onepc-k-num-input {
  width: 54px;
  height: 28px;
  padding: 0 4px;
  border: 0;
  border-inline: 1px solid var(--ws-border);
  background: transparent;
  color: var(--ws-text);
  font: inherit;
  font-size: 12.5px;
  text-align: center;
}

.onepc-k-num-input:focus {
  outline: none;
}

.onepc-k-num-input[disabled] {
  color: var(--ws-muted);
}

.onepc-k-num-suffix {
  padding-right: 8px;
  color: var(--ws-muted);
  font-size: 12px;
}

/* ------------------------------------------------------------------ 筛选标签 */
.onepc-k-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.onepc-k-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 11px;
  border: 1px solid var(--ws-border);
  border-radius: 999px;
  background: var(--ws-surface);
  color: var(--ws-muted);
  font: inherit;
  font-size: 12.5px;
  cursor: pointer;
}

.onepc-k-chip:hover {
  border-color: var(--ws-primary);
  color: var(--ws-primary);
}

.onepc-k-chip.is-active {
  border-color: transparent;
  background: var(--ws-primary);
  color: var(--ws-on-primary, #fff);
}

.onepc-k-chip.is-active:hover {
  background: var(--ws-primary-hover);
  color: var(--ws-on-primary-hover, #fff);
}

.onepc-k-chip-count {
  color: var(--ws-muted);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.onepc-k-chip.is-active .onepc-k-chip-count {
  color: var(--ws-on-primary, #fff);
  opacity: 0.78;
}

/* ------------------------------------------------------------------ 轻提示 */
.onepc-k-toasts {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 80;
  display: flex;
  flex-direction: column;
  gap: 8px;
  /* 容器不吃事件，只有单条提示吃 —— 空容器不会挡住任何点击 */
  pointer-events: none;
}

.onepc-k-toast {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  width: 296px;
  padding: 11px 12px;
  border: 1px solid var(--ws-border);
  border-left: 3px solid var(--ws-muted);
  border-radius: var(--ws-radius-md);
  background: var(--ws-surface);
  color: var(--ws-text);
  box-shadow: 0 12px 32px rgb(23 32 48 / 14%);
  pointer-events: auto;
  animation: onepc-k-toast-in 0.18s ease-out;
}

@keyframes onepc-k-toast-in {
  from {
    opacity: 0;
    transform: translateX(10px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.onepc-k-toast.is-info {
  border-left-color: var(--ws-primary);
}
.onepc-k-toast.is-info .onepc-k-toast-icon {
  color: var(--ws-primary);
}
.onepc-k-toast.is-success {
  border-left-color: var(--ws-success);
}
.onepc-k-toast.is-success .onepc-k-toast-icon {
  color: var(--ws-success);
}
.onepc-k-toast.is-warning {
  border-left-color: var(--ws-warning);
}
.onepc-k-toast.is-warning .onepc-k-toast-icon {
  color: var(--ws-warning);
}
.onepc-k-toast.is-danger {
  border-left-color: var(--ws-danger);
}
.onepc-k-toast.is-danger .onepc-k-toast-icon {
  color: var(--ws-danger);
}

.onepc-k-toast-icon {
  margin-top: 1px;
}

.onepc-k-toast-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.onepc-k-toast-message {
  color: var(--ws-text);
  font-size: 12.5px;
  font-weight: 600;
}

.onepc-k-toast-desc {
  color: var(--ws-muted);
  font-size: 11.5px;
}

.onepc-k-toast-close {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: var(--ws-muted);
  cursor: pointer;
}

.onepc-k-toast-close:hover {
  background: var(--ws-bg);
  color: var(--ws-text);
}

/* ------------------------------------------------------------------ 表格补充 */
.onepc-k-table-wrap {
  position: relative;
}

.onepc-k-table-pick {
  width: 38px;
  padding-inline: 14px !important;
}

/* 多选列里的 Checkbox 只是个方框，没有文字，把空的说明 span 收掉 */
.onepc-k-table-pick .onepc-k-check > span {
  display: none;
}

.onepc-k-table tbody tr.is-clickable {
  cursor: pointer;
}

.onepc-k-table tbody tr.is-clickable:hover td {
  background: var(--ws-primary-soft);
}

.onepc-k-table tbody tr.is-picked td {
  background: var(--ws-primary-soft);
}

.onepc-k-table-loading {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: color-mix(in srgb, var(--ws-surface) 80%, transparent);
  color: var(--ws-muted);
  font-size: 12.5px;
}
/* Accessibility, responsive sizing and independent calendar additions. */
.onepc-k-dt-grid-row { display: contents; }
.onepc-k-dt-error { display: block; max-width: 36rem; margin-top: 6px; color: var(--ws-danger); font-size: 12px; }
.onepc-k-table-sort { border: 0; padding: 0; background: transparent; color: inherit; font: inherit; font-weight: inherit; cursor: pointer; }
.onepc-k-table-sort:disabled { cursor: default; }
.onepc-k-table-error { padding: 12px; color: var(--ws-danger); background: var(--ws-danger-soft); border-radius: var(--ws-radius-sm); }
.onepc-k-table tr[tabindex]:focus-visible,
.onepc-k-menu-item:focus-visible,
.onepc-k-dt-cell:focus-visible,
.onepc-k-dt-cell-lg:focus-visible,
.onepc-k-dt-titem:focus-visible,
.onepc-k-table-sort:focus-visible { outline: 2px solid var(--ws-primary); outline-offset: -2px; }
.onepc-k-pop.is-floating { z-index: var(--onepc-z-popover, 1100); }
.onepc-k-pop.onepc-tooltip-pop { min-width: 0; max-width: 24rem; padding: 6px 10px; border-radius: var(--ws-radius-sm); background: var(--ws-text); color: var(--ws-surface); font-size: 12px; line-height: 1.5; white-space: normal; }
.onepc-k-dialog, .onepc-k-drawer { max-width: calc(100vw - 24px); max-height: calc(100dvh - 24px); }
.onepc-k-dt-panes { min-width: 0; }
.onepc-calendar { container-type: inline-size; width: 100%; min-width: 0; border: 1px solid var(--ws-border); border-radius: var(--ws-radius-md); background: var(--ws-surface); color: var(--ws-text); overflow: hidden; font-family: var(--ws-font); }
.onepc-calendar-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 16px; border-bottom: 1px solid var(--ws-border); }
.onepc-calendar-head h3 { margin: 0; font-size: 16px; font-weight: 600; }
.onepc-calendar-weekdays, .onepc-calendar-row { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.onepc-calendar-weekdays span { padding: 10px 2px; text-align: center; color: var(--ws-muted); font-size: 12px; }
.onepc-calendar-cell { display: flex; flex-direction: column; gap: 4px; min-width: 0; min-height: 96px; padding: 8px; text-align: left; border: 0; border-top: 1px solid var(--ws-border); border-right: 1px solid var(--ws-border); background: var(--ws-surface); color: var(--ws-text); font: inherit; cursor: pointer; }
.onepc-calendar-cell:last-child { border-right: 0; }
.onepc-calendar-cell:hover:not(:disabled) { background: var(--ws-bg); }
.onepc-calendar-cell.is-selected { background: var(--ws-primary-soft); box-shadow: inset 0 0 0 2px var(--ws-primary); }
.onepc-calendar-cell:focus-visible { outline: 2px solid var(--ws-primary); outline-offset: -3px; }
.onepc-calendar-cell.is-out { color: var(--ws-muted); }
.onepc-calendar-cell:disabled { opacity: 0.45; cursor: not-allowed; }
.onepc-calendar-day { display: inline-flex; align-items: center; justify-content: center; align-self: flex-start; min-width: 24px; min-height: 24px; font-size: 13px; }
.onepc-calendar-cell.is-today .onepc-calendar-day { background: var(--ws-primary); color: var(--ws-on-primary, #fff); border-radius: 50%; }
.onepc-calendar-events { display: flex; flex-direction: column; width: 100%; gap: 3px; }
.onepc-calendar-event { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; line-height: 1.4; color: var(--ws-primary); }
.onepc-calendar-event.is-success { color: var(--ws-success); }
.onepc-calendar-event.is-warning { color: var(--ws-warning); }
.onepc-calendar-event.is-danger { color: var(--ws-danger); }
.onepc-calendar-more { font-size: 10px; color: var(--ws-muted); }
[data-density="touch"] .onepc-calendar-cell { min-height: 112px; }
@container (max-width: 520px) {
  .onepc-calendar-head { padding: 12px; }
  .onepc-calendar-cell { min-height: 64px; padding: 4px; }
  .onepc-calendar-event { font-size: 0; width: 5px; height: 5px; background: currentColor; border-radius: 50%; }
  .onepc-calendar-events { flex-direction: row; flex-wrap: wrap; }
}
@media (max-width: 640px) {
  .onepc-k-dt-panes { flex-direction: column; }
  .onepc-k-dt-pop .onepc-k-dt-pane { min-width: 0; width: 100%; }
  .onepc-k-dt-pop .onepc-k-dt-dtmain { flex-direction: column; }
  .onepc-k-dt-pop .onepc-k-dt-times { max-width: calc(100vw - 32px); }
}
@media (prefers-reduced-motion: reduce) {
  .onepc-k-dialog, .onepc-k-drawer, .onepc-k-pop, .onepc-k-spinner, .onepc-k-skeleton-bar { animation: none !important; transition: none !important; }
}
.onepc-provider { --onepc-new-icon-target: 25px; --onepc-new-tree-height: var(--ws-control-height, 34px); --onepc-new-rate-target: 32px; --onepc-new-tree-toggle: 24px; }
.onepc-provider[data-density="touch"] { --onepc-new-icon-target: 44px; --onepc-new-tree-height: 48px; --onepc-new-rate-target: 44px; --onepc-new-tree-toggle: 44px; }
.onepc-provider[data-density="compact"] { --onepc-new-tree-height: 28px; }
.onepc-k-form-fields { margin: 0; padding: 0; border: 0; min-width: 0; display: grid; gap: 16px; }
.onepc-k-form-error, .onepc-k-upload-errors { color: var(--ws-danger); font-size: 12px; margin: 4px 0; }
.onepc-k-combobox, .onepc-k-tree-select, .onepc-k-cascader { position: relative; min-width: 0; width: 100%; font-size: 13px; }
.onepc-k-combo-control, .onepc-k-hierarchy-control { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; min-height: var(--onepc-new-tree-height, 34px); padding: 3px 7px; border: 1px solid var(--ws-border); border-radius: var(--ws-radius-sm); background: var(--ws-surface); color: var(--ws-text); }
.onepc-k-combo-control:focus-within, .onepc-k-hierarchy-control:focus-within { border-color: var(--ws-primary); box-shadow: 0 0 0 3px var(--ws-primary-soft); }
.onepc-k-combobox[data-disabled="true"] { opacity: .6; }
.onepc-k-combo-input { flex: 1 1 100px; min-width: 40px; width: 0; border: 0; background: transparent; color: var(--ws-text); font: inherit; min-height: 24px; padding: 0 2px; }
.onepc-k-combo-input:focus { outline: none; }
.onepc-k-combo-input::placeholder { color: var(--ws-muted); }
.onepc-k-combo-tags { display: flex; flex-wrap: wrap; gap: 4px; max-width: 100%; }
.onepc-k-combo-tag { display: inline-flex; align-items: center; gap: 4px; padding: 2px 5px; border-radius: 4px; background: var(--ws-primary-soft); color: var(--ws-text); overflow-wrap: anywhere; }
.onepc-k-combo-tag button, .onepc-k-combo-clear, .onepc-k-combo-toggle { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; border: 0; background: transparent; color: var(--ws-muted); font: inherit; min-width: var(--onepc-new-icon-target, 25px); min-height: var(--onepc-new-icon-target, 25px); cursor: pointer; border-radius: 4px; }
.onepc-k-combo-clear:hover, .onepc-k-combo-toggle:hover, .onepc-k-combo-tag button:hover { background: var(--ws-bg); color: var(--ws-text); }
.onepc-k-combo-clear:disabled, .onepc-k-combo-toggle:disabled, .onepc-k-combo-tag button:disabled { cursor: not-allowed; opacity: .5; }
.onepc-k-combo-popup, .onepc-k-hierarchy-popup { position: absolute; z-index: var(--ws-z-popover, 40); top: calc(100% + 5px); left: 0; width: 100%; min-width: 0; max-height: 280px; overflow: auto; border: 1px solid var(--ws-border); border-radius: var(--ws-radius-md); background: var(--ws-surface); color: var(--ws-text); box-shadow: 0 8px 22px rgb(0 0 0 / 12%); }
.onepc-k-combo-options { margin: 0; padding: 4px; list-style: none; }
.onepc-k-combo-option { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 7px 9px; border-radius: 4px; cursor: pointer; overflow-wrap: anywhere; }
.onepc-k-combo-option.is-active, .onepc-k-combo-option.is-selected { background: var(--ws-primary-soft); }
.onepc-k-combo-option.is-selected { color: var(--ws-primary); }
.onepc-k-combo-option[aria-disabled="true"] { color: var(--ws-muted); cursor: not-allowed; opacity: .6; }
.onepc-k-combo-empty { padding: 12px; color: var(--ws-muted); text-align: center; }
.onepc-k-tree { padding: 4px; font-size: 13px; }
.onepc-k-tree-row { display: flex; gap: 5px; align-items: center; min-height: var(--onepc-new-tree-height, 34px); padding-inline: calc(var(--onepc-tree-level, 0) * 18px) 8px; border-radius: 5px; cursor: pointer; }
.onepc-k-tree-row:hover { background: var(--ws-bg); }
.onepc-k-tree-row.is-selected { background: var(--ws-primary-soft); color: var(--ws-primary); }
.onepc-k-tree-row[aria-disabled="true"] { color: var(--ws-muted); cursor: not-allowed; }
.onepc-k-tree-row > span:last-child { overflow-wrap: anywhere; }
.onepc-k-tree-toggle { flex: 0 0 var(--onepc-new-tree-toggle, 24px); min-height: var(--onepc-new-tree-toggle, 24px); border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; padding: 0; }
.onepc-k-tree-toggle:disabled { cursor: default; }
.onepc-k-tree-check { color: var(--ws-primary); }
.onepc-k-hierarchy-trigger { flex: 1; min-width: 0; display: flex; justify-content: space-between; gap: 8px; min-height: 28px; padding: 0 2px; border: 0; background: transparent; color: var(--ws-text); font: inherit; text-align: start; overflow-wrap: anywhere; cursor: pointer; }
.onepc-k-hierarchy-trigger:disabled { cursor: not-allowed; color: var(--ws-muted); }
.onepc-k-cascader-columns { display: flex; width: max-content; max-width: min(650px, 100%); overflow-x: auto; }
.onepc-k-cascader-columns ul { flex: 1 0 140px; min-width: 0; max-height: 260px; overflow-y: auto; list-style: none; margin: 0; padding: 4px; }
.onepc-k-cascader-columns ul + ul { border-inline-start: 1px solid var(--ws-border); }
.onepc-k-cascader-columns [role="option"] { display: flex; align-items: center; justify-content: space-between; min-height: var(--onepc-new-tree-height, 32px); padding: 5px 8px; border-radius: 4px; cursor: pointer; overflow-wrap: anywhere; }
.onepc-k-cascader-columns [role="option"][aria-selected="true"], .onepc-k-cascader-columns [role="option"]:hover { background: var(--ws-primary-soft); }
.onepc-k-cascader-columns [aria-disabled="true"] { color: var(--ws-muted); opacity: .6; cursor: not-allowed; }
.onepc-k-password { position: relative; display: flex; align-items: center; }
.onepc-k-password .onepc-k-input { padding-inline-end: 62px; width: 100%; }
.onepc-k-password-toggle { position: absolute; inset-inline-end: 4px; padding: 4px 7px; min-height: var(--onepc-new-icon-target, 25px); min-width: var(--onepc-new-icon-target, 25px); border: 0; border-radius: 4px; background: transparent; color: var(--ws-primary); font: inherit; font-size: 12px; cursor: pointer; }
.onepc-k-password-toggle:disabled { opacity: .5; cursor: not-allowed; }
.onepc-k-color-picker { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.onepc-k-color-picker > input[type="color"] { width: 38px; min-height: var(--ws-control-height, 34px); border: 1px solid var(--ws-border); border-radius: var(--ws-radius-sm); background: var(--ws-surface); padding: 3px; }
.onepc-k-color-picker > .onepc-k-input { flex: 1 1 110px; width: 0; }
.onepc-k-color-picker > .onepc-k-form-error { flex-basis: 100%; }
.onepc-k-rate { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.onepc-k-rate-star { min-width: var(--onepc-new-rate-target, 32px); min-height: var(--onepc-new-rate-target, 32px); border: 0; border-radius: 4px; background: transparent; color: var(--ws-border); font-size: 26px; cursor: pointer; }
.onepc-k-rate-star.is-filled { color: var(--ws-warning); }
.onepc-k-rate-star:disabled { opacity: .5; cursor: not-allowed; }
.onepc-k-transfer { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 10px; align-items: stretch; font-size: 13px; }
.onepc-k-transfer-list { min-width: 0; border: 1px solid var(--ws-border); border-radius: var(--ws-radius-md); overflow: hidden; }
.onepc-k-transfer-list > header { display: flex; justify-content: space-between; padding: 10px; background: var(--ws-bg); font-weight: 600; }
.onepc-k-transfer-list > .onepc-k-input { margin: 8px; width: calc(100% - 16px); }
.onepc-k-transfer-options { display: flex; flex-direction: column; gap: 7px; min-height: 125px; max-height: 240px; overflow-y: auto; padding: 8px 10px; }
.onepc-k-transfer-options p { color: var(--ws-muted); }
.onepc-k-transfer-options .onepc-k-check { overflow-wrap: anywhere; }
.onepc-k-transfer-actions { display: flex; flex-direction: column; gap: 8px; align-self: center; }
.onepc-k-upload-drop { position: relative; display: flex; align-items: center; flex-wrap: wrap; justify-content: center; gap: 8px; min-height: 100px; padding: 15px; border: 1px dashed var(--ws-border); border-radius: var(--ws-radius-md); background: var(--ws-bg); color: var(--ws-muted); font-size: 13px; }
.onepc-k-upload-drop.is-dragging { border-color: var(--ws-primary); background: var(--ws-primary-soft); }
.onepc-k-upload-drop:focus-within { outline: 2px solid var(--ws-primary); outline-offset: 2px; }
.onepc-k-upload-drop small { flex-basis: 100%; text-align: center; }
.onepc-k-upload-input { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; border: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.onepc-k-upload-errors p { margin: 5px 0; }
.onepc-k-upload-list { list-style: none; margin: 8px 0 0; padding: 0; }
.onepc-k-upload-list > li { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--ws-border); }
.onepc-k-upload-file { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; font-size: 12px; }
.onepc-k-upload-file strong { font-size: 13px; overflow-wrap: anywhere; }
.onepc-k-upload-file > span { color: var(--ws-muted); }
.onepc-k-upload-file > .onepc-k-form-error { color: var(--ws-danger); }
.onepc-k-upload-file progress { width: 100%; accent-color: var(--ws-primary); }
.onepc-k-upload-actions { display: flex; gap: 5px; flex-shrink: 0; }
.onepc-k-result { display: flex; align-items: center; flex-direction: column; gap: 10px; padding: 28px 18px; color: var(--ws-text); text-align: center; }
.onepc-k-result-icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 50%; background: var(--ws-primary-soft); color: var(--ws-primary); font-size: 29px; }
.onepc-k-result h3, .onepc-k-result p { margin: 0; }
.onepc-k-result p { max-width: 48ch; color: var(--ws-muted); font-size: 13px; line-height: 1.7; }
.onepc-k-result.is-success .onepc-k-result-icon { color: var(--ws-success); }
.onepc-k-result.is-warning .onepc-k-result-icon { color: var(--ws-warning); }
.onepc-k-result.is-error .onepc-k-result-icon { color: var(--ws-danger); }
.onepc-k-result-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.onepc-k-notifications { display: flex; flex-direction: column; gap: 9px; }
.onepc-k-notification { display: flex; align-items: flex-start; gap: 8px; padding: 12px; border: 1px solid var(--ws-border); border-inline-start: 3px solid var(--ws-primary); border-radius: var(--ws-radius-md); background: var(--ws-surface); }
.onepc-k-notification.is-error { border-inline-start-color: var(--ws-danger); }
.onepc-k-notification.is-warning { border-inline-start-color: var(--ws-warning); }
.onepc-k-notification.is-success { border-inline-start-color: var(--ws-success); }
.onepc-k-notification-main { flex: 1; min-width: 0; overflow-wrap: anywhere; font-size: 13px; }
.onepc-k-notification-main p { color: var(--ws-muted); margin: 5px 0 8px; font-size: 12px; }
.onepc-k-tree-row:focus-visible, .onepc-k-cascader-columns [role="option"]:focus-visible, .onepc-k-rate-star:focus-visible, .onepc-k-password-toggle:focus-visible, .onepc-k-combo-tag button:focus-visible, .onepc-k-combo-clear:focus-visible, .onepc-k-hierarchy-trigger:focus-visible { outline: 2px solid var(--ws-primary); outline-offset: 2px; }
@container onepc (max-width: 560px) {
  .onepc-k-transfer { grid-template-columns: 1fr; }
  .onepc-k-transfer-actions { flex-direction: row; justify-content: center; }
  .onepc-k-upload-list > li { align-items: flex-start; flex-wrap: wrap; }
  .onepc-k-upload-file { flex-basis: 100%; }
  .onepc-k-upload-actions { margin-inline-start: auto; }
  .onepc-k-cascader-columns { width: 100%; }
}
.onepc-p-page-header,.onepc-p-toolbar,.onepc-p-filter-bar,.onepc-p-bulk-bar,.onepc-p-list-detail,.onepc-p-form-actions,.onepc-p-task,.onepc-p-file,.onepc-p-agent,.onepc-p-shell{container-type:inline-size;box-sizing:border-box;font-family:var(--ws-font-family,var(--ws-font));font-size:var(--ws-font-size-body,14px);line-height:var(--ws-line-height,1.6)}
.onepc-p-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.onepc-p-page-header{padding:4px 0 20px}.onepc-p-page-crumb{margin-bottom:12px}
.onepc-p-page-heading,.onepc-p-toolbar,.onepc-p-filter-top,.onepc-p-bulk-bar,.onepc-p-form-actions,.onepc-p-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.onepc-p-page-copy{flex:1;min-width:200px}.onepc-p-page-copy h1,.onepc-p-page-copy h2,.onepc-p-page-copy h3,.onepc-p-page-copy h4,.onepc-p-page-copy h5,.onepc-p-page-copy h6{margin:0;font-weight:var(--ws-font-weight-heading,600);line-height:1.35;letter-spacing:-.4px;color:var(--ws-text)}.onepc-p-page-copy h1{font-size:var(--ws-font-size-h1,28px)}.onepc-p-page-copy h2{font-size:var(--ws-font-size-h2,22px)}.onepc-p-page-copy h3,.onepc-p-page-copy h4,.onepc-p-page-copy h5,.onepc-p-page-copy h6{font-size:var(--ws-font-size-h3,18px)}
.onepc-p-eyebrow{margin:0 0 5px;color:var(--ws-muted);font-size:11px;letter-spacing:1.2px;font-weight:600}
.onepc-p-description,.onepc-p-card-head p{margin:7px 0 0;color:var(--ws-muted);font-size:var(--ws-font-size-body,14px);line-height:var(--ws-line-height,1.6)}
.onepc-p-toolbar{padding:10px 0}.onepc-p-toolbar-main{display:flex;align-items:center;gap:12px;flex:1;min-width:0;flex-wrap:wrap}
.onepc-p-filter-bar{padding:16px;border:1px solid var(--ws-border);border-radius:var(--ws-radius-md);background:var(--ws-surface);margin-bottom:16px}
.onepc-p-filter-top .onepc-k-search{flex:1;min-width:160px;max-width:400px}.onepc-p-filter-fields{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-top:14px}
.onepc-p-filter-fields>.onepc-k-field{flex:1;min-width:140px;max-width:300px}.onepc-p-filter-fields>.onepc-k-chips{align-self:center}
.onepc-p-filter-summary{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.onepc-p-filter-toggle{display:none}
.onepc-p-bulk-bar{padding:10px 14px;margin-bottom:12px;background:var(--ws-primary-soft);border:1px solid var(--ws-border);border-radius:var(--ws-radius-sm);color:var(--ws-text)}
.onepc-p-bulk-count{font-size:var(--ws-font-size-control,13px);font-weight:600}
.onepc-p-list-detail-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,1fr);gap:18px;align-items:start}
.onepc-p-list-pane,.onepc-p-detail-pane{min-width:0}.onepc-p-detail-pane{padding:18px;background:var(--ws-surface);border:1px solid var(--ws-border);border-radius:var(--ws-radius-md)}
.onepc-p-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.onepc-p-detail-head h2{margin:0;font-size:var(--ws-font-size-h3,18px);font-weight:var(--ws-font-weight-heading,600);line-height:1.4}
.onepc-p-detail-head .onepc-k-btn{font-size:var(--ws-font-size-small,12px)}.onepc-p-form-actions{padding:16px 0;border-top:1px solid var(--ws-border);margin-top:20px}
.onepc-p-form-actions.is-sticky{position:sticky;bottom:0;z-index:2;background:var(--ws-surface)}.onepc-p-form-note{color:var(--ws-muted);font-size:var(--ws-font-size-small,12px);flex:1;min-width:160px;line-height:1.6}.onepc-p-form-note.is-error,.onepc-p-inline-error{color:var(--ws-danger)}
.onepc-p-inline-error{font-size:var(--ws-font-size-control,13px);line-height:1.6;margin:12px 0 0}
.onepc-p-permission{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:28px 16px}.onepc-p-permission h3{font-size:var(--ws-font-size-h3,18px);margin:0}.onepc-p-permission p{max-width:400px;color:var(--ws-muted);font-size:var(--ws-font-size-control,13px);line-height:1.65;margin:0}.onepc-p-state-icon{color:var(--ws-muted);background:var(--ws-bg);display:grid;place-items:center;width:48px;height:48px;border-radius:var(--ws-radius-md)}.onepc-p-permission.is-error .onepc-p-state-icon{color:var(--ws-danger);background:var(--ws-danger-soft)}
.onepc-p-task,.onepc-p-agent{padding:20px;border:1px solid var(--ws-border);border-radius:var(--ws-radius-md);background:var(--ws-surface)}
.onepc-p-card-head{align-items:flex-start;margin-bottom:18px}.onepc-p-card-head h3{margin:0;font-size:var(--ws-font-size-h3,18px);font-weight:var(--ws-font-weight-heading,600);line-height:1.45;color:var(--ws-text)}
.onepc-p-task-stages{list-style:none;margin:18px 0 0;padding:0}.onepc-p-task-stages li{display:flex;align-items:flex-start;gap:10px;padding:12px 0;border-top:1px solid var(--ws-border)}.onepc-p-stage-icon{display:grid;place-items:center;flex:none;width:24px;height:24px;border:1px solid var(--ws-border);border-radius:50%;font-size:var(--ws-font-size-small,12px);color:var(--ws-muted)}
.onepc-p-task-stages li.is-completed .onepc-p-stage-icon{color:var(--ws-success);border-color:var(--ws-success);background:var(--ws-success-soft)}.onepc-p-task-stages li.is-running .onepc-p-stage-icon{color:var(--ws-primary);border-color:var(--ws-primary);background:var(--ws-primary-soft)}.onepc-p-task-stages li.is-error .onepc-p-stage-icon{color:var(--ws-danger);border-color:var(--ws-danger);background:var(--ws-danger-soft)}
.onepc-p-task-stages li>div{flex:1;min-width:0}.onepc-p-task-stages strong{font-weight:550;font-size:var(--ws-font-size-control,13px)}.onepc-p-task-stages p{color:var(--ws-muted);font-size:var(--ws-font-size-small,12px);line-height:1.6;margin:3px 0 0}.onepc-p-stage-status{font-size:11px;color:var(--ws-muted);white-space:nowrap;margin-top:3px}.onepc-p-task>.onepc-p-actions{margin-top:14px}
.onepc-p-file{display:flex;align-items:center;gap:12px;padding:14px;background:var(--ws-surface);border:1px solid var(--ws-border);border-radius:var(--ws-radius-sm)}.onepc-p-file.is-error{border-color:var(--ws-danger)}.onepc-p-file-icon{flex:none;color:var(--ws-primary)}.onepc-p-file-main{min-width:0;flex:1}.onepc-p-file-main>strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ws-font-size-control,13px);font-weight:550}.onepc-p-file-main>p{margin:4px 0 0;color:var(--ws-muted);font-size:var(--ws-font-size-small,12px)}.onepc-p-file-main>.onepc-k-progress{margin-top:8px}
.onepc-p-agent-body{font-size:var(--ws-font-size-body,14px);line-height:var(--ws-line-height,1.6);overflow-wrap:anywhere}.onepc-p-agent-body>p{margin:0 0 12px}.onepc-p-agent-sources{border-top:1px solid var(--ws-border);margin-top:16px;padding-top:14px}.onepc-p-agent-sources h4{font-size:var(--ws-font-size-small,12px);color:var(--ws-muted);margin:0 0 8px;font-weight:550}.onepc-p-agent-sources ol{padding-left:20px;margin:0}.onepc-p-agent-sources li{font-size:var(--ws-font-size-small,12px);line-height:1.7;margin:4px 0}.onepc-p-agent-sources button{background:none;border:0;color:var(--ws-primary);font:inherit;cursor:pointer;text-align:left;padding:2px 0}.onepc-p-agent-sources a{color:var(--ws-primary)}.onepc-p-agent-sources small{display:block;color:var(--ws-muted)}.onepc-p-agent-note{font-size:var(--ws-font-size-small,12px);color:var(--ws-muted);line-height:1.65;margin:16px 0}.onepc-p-agent>.onepc-p-actions{justify-content:flex-end;margin-top:16px}
.onepc-p-shell{display:flex;position:relative;min-height:520px;background:var(--ws-bg);color:var(--ws-text);border:1px solid var(--ws-border);border-radius:var(--ws-radius-md);overflow:hidden}
.onepc-p-shell-sidebar{width:var(--onepc-p-sidebar-width);flex:none;background:var(--ws-surface);border-right:1px solid var(--ws-border);padding:20px 14px;display:flex;flex-direction:column;gap:20px}.onepc-p-shell-brand{font-size:18px;line-height:1.4;font-weight:650;white-space:nowrap}.onepc-p-shell-main{min-width:0;flex:1;display:flex;flex-direction:column}.onepc-p-shell-header{display:flex;align-items:center;gap:12px;min-height:64px;border-bottom:1px solid var(--ws-border);padding:12px 24px;background:var(--ws-surface);flex-wrap:wrap}.onepc-p-shell-content{padding:24px;min-width:0;outline:none}.onepc-p-shell.is-narrow .onepc-p-shell-header,.onepc-p-shell.is-narrow .onepc-p-shell-content{padding:14px}
.onepc-p-skip-link{position:absolute;top:8px;left:8px;transform:translateY(-180%);z-index:10;color:var(--ws-primary);background:var(--ws-surface);padding:8px;border:1px solid var(--ws-primary);border-radius:var(--ws-radius-sm)}.onepc-p-skip-link:focus{transform:none}.onepc-p-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.onepc-p-agent-sources button:focus-visible,.onepc-p-agent-sources a:focus-visible{outline:2px solid var(--ws-primary);outline-offset:3px}
@container (max-width:740px){.onepc-p-list-detail-grid{grid-template-columns:1fr}.onepc-p-list-detail:not(.has-detail)>.onepc-p-list-detail-grid>.onepc-p-detail-pane{display:none}.onepc-p-list-detail.has-detail>.onepc-p-list-detail-grid>.onepc-p-list-pane{display:none}.onepc-p-filter-toggle{display:inline-flex}.onepc-p-filter-fields:not(.is-always-open){display:none}.onepc-p-filter-bar.is-expanded>.onepc-p-filter-fields{display:flex}.onepc-p-file>.onepc-p-actions{flex-basis:100%;justify-content:flex-end}.onepc-p-form-actions>.onepc-p-actions{width:100%;justify-content:flex-end}}
@container (max-width:420px){.onepc-p-page-heading{align-items:flex-start;gap:14px}.onepc-p-page-copy h1{font-size:24px}.onepc-p-card-head{gap:10px}.onepc-p-stage-status{display:none}.onepc-p-filter-top .onepc-k-search{max-width:none;flex-basis:100%}.onepc-p-filter-fields>.onepc-k-field{max-width:none;flex-basis:100%}.onepc-p-bulk-bar>.onepc-p-actions{width:100%}.onepc-p-page-heading>.onepc-p-actions{width:100%}}
.onepc-p-file{flex-wrap:wrap}
[data-density="touch"] .onepc-p-agent-sources button{min-height:44px}
@media (prefers-reduced-motion:reduce){.onepc-p-skip-link{transition:none}}
:root { --ws-primary:var(--onepc-primary,#3267e8);--ws-primary-hover:var(--onepc-primary-hover,#2255ce);--ws-primary-soft:var(--onepc-primary-soft,#edf3ff);--ws-secondary:var(--onepc-secondary,#6d5ce7);--ws-secondary-hover:var(--onepc-secondary-hover,#5a49d6);--ws-secondary-soft:var(--onepc-secondary-soft,#f1eeff);--ws-success:var(--onepc-success,#268563);--ws-success-soft:var(--onepc-success-soft,#eaf7f0);--ws-warning:var(--onepc-warning,#a16a18);--ws-warning-soft:var(--onepc-warning-soft,#fff7e7);--ws-danger:var(--onepc-danger,#c84343);--ws-danger-hover:var(--onepc-danger-hover,#b03b3b);--ws-danger-soft:var(--onepc-danger-soft,#fff0f0);--ws-bg:var(--onepc-bg,#f7f8fa);--ws-surface:var(--onepc-surface,#fff);--ws-text:var(--onepc-text,#202735);--ws-muted:var(--onepc-muted,#66748a);--ws-border:var(--onepc-border,#dce2eb);--ws-radius-sm:var(--onepc-radius-sm,7px);--ws-radius-md:var(--onepc-radius-md,11px);--ws-radius-lg:var(--onepc-radius-lg,16px);--ws-on-primary:var(--onepc-on-primary,#fff);--ws-on-primary-hover:var(--onepc-on-primary-hover,#fff);--ws-on-primary-pressed:var(--onepc-on-primary-pressed,#fff);--ws-on-secondary:var(--onepc-on-secondary,#fff);--ws-on-secondary-hover:var(--onepc-on-secondary-hover,#fff);--ws-on-danger:var(--onepc-on-danger,#fff);--ws-on-danger-hover:var(--onepc-on-danger-hover,#fff);--ws-font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;--ws-font-size-body:14px;--ws-font-size-small:12px;--ws-font-size-control:13px;--ws-font-size-h1:28px;--ws-font-size-h2:22px;--ws-font-size-h3:18px;--ws-font-weight-heading:600;--ws-line-height:1.6;--ws-control-height:36px;--ws-control-padding:14px;--ws-motion-duration:160ms;--ws-mono:'SFMono-Regular',Consolas,Menlo,monospace; }
.onepc-provider { color:var(--ws-text);font:var(--ws-font-size-body)/var(--ws-line-height) var(--ws-font-family);container-type:inline-size;container-name:onepc;min-width:0;color-scheme:light; }
.onepc-provider[data-mode=dark] { color-scheme:dark; }
.onepc-provider *, .onepc-provider *::before, .onepc-provider *::after { box-sizing:border-box; }
.onepc-provider button,.onepc-provider input,.onepc-provider textarea,.onepc-provider select { font-family:inherit; }
.onepc-portal { container-type:normal;container-name:none; }
.onepc-k-sr-only { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.onepc-k-type { margin:0;line-height:var(--ws-line-height);font-family:var(--ws-font-family);font-size:var(--ws-font-size-body); }
.onepc-k-type.is-h1,.onepc-k-type.is-h2,.onepc-k-type.is-h3 { font-weight:var(--ws-font-weight-heading);line-height:1.3;letter-spacing:-.02em; }
.onepc-k-type.is-h1 { font-size:var(--ws-font-size-h1); }.onepc-k-type.is-h2 { font-size:var(--ws-font-size-h2); }.onepc-k-type.is-h3 { font-size:var(--ws-font-size-h3); }
.onepc-k-type.is-small,.onepc-k-type.is-caption { font-size:var(--ws-font-size-small); }.onepc-k-type.is-label { font-size:var(--ws-font-size-control);font-weight:500; }
.onepc-k-type.is-code { font-family:var(--ws-mono);font-size:var(--ws-font-size-control); }.onepc-k-type.is-muted { color:var(--ws-muted); }.onepc-k-type.is-primary { color:var(--ws-primary); }.onepc-k-type.is-danger { color:var(--ws-danger); }.onepc-k-type.is-truncate { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.onepc-k-space > * { min-width:0; }
.onepc-provider .onepc-k-btn { min-height:var(--ws-control-height);font-size:var(--ws-font-size-control);padding-inline:var(--ws-control-padding);transition-duration:var(--ws-motion-duration); }
.onepc-provider .onepc-k-btn.is-sm { min-height:calc(var(--ws-control-height) - 6px);font-size:var(--ws-font-size-small); }
.onepc-provider .onepc-k-btn.is-lg { min-height:calc(var(--ws-control-height) + 6px);font-size:var(--ws-font-size-body); }
.onepc-provider .onepc-k-btn.is-icon { width:var(--ws-control-height);padding:0; }
.onepc-provider .onepc-k-input,.onepc-provider .onepc-k-select,.onepc-provider .onepc-k-search { min-height:var(--ws-control-height);font-size:var(--ws-font-size-control); }
.onepc-provider .onepc-k-textarea { font-size:var(--ws-font-size-body);line-height:var(--ws-line-height); }
.onepc-provider .onepc-k-field-label { font-size:var(--ws-font-size-control);font-weight:500; }
.onepc-provider .onepc-k-field-hint,.onepc-provider .onepc-k-table small { font-size:var(--ws-font-size-small); }
.onepc-provider .onepc-k-table { font-size:var(--ws-font-size-body); }
.onepc-provider .onepc-k-panel-title, .onepc-provider .onepc-k-panel-head h3 { font-size:var(--ws-font-size-h3);font-weight:var(--ws-font-weight-heading); }
.onepc-provider .onepc-k-panel.is-accent { background:var(--ws-surface); }
.onepc-provider .onepc-k-btn.is-primary:active:not(:disabled) { background:var(--ws-primary-pressed);color:var(--ws-on-primary-pressed); }
.onepc-provider .onepc-k-btn.is-accent:active:not(:disabled) { background:var(--ws-secondary-pressed);color:var(--ws-on-secondary-pressed); }
.onepc-provider .onepc-k-btn, .onepc-provider .onepc-ui-preset { min-height:var(--ws-touch-target,0px); }
.onepc-provider .onepc-k-btn.is-icon { min-width:var(--ws-touch-target,0px); }
.onepc-provider .onepc-k-tabs button,.onepc-provider .onepc-k-menu button { min-height:var(--ws-touch-target,0px); }
.onepc-provider[data-motion=false] *, .onepc-provider[data-motion=false] *::before, .onepc-provider[data-motion=false] *::after { animation-duration:0.01ms!important;transition-duration:0.01ms!important;scroll-behavior:auto!important; }
.onepc-ui-color-row { display:flex;gap:8px;align-items:center; }.onepc-ui-color { width:42px;height:var(--ws-control-height);border:1px solid var(--ws-border);border-radius:var(--ws-radius-sm);padding:3px;background:var(--ws-surface); }
.onepc-ui-presets,.onepc-ui-tokens { display:flex;gap:8px;flex-wrap:wrap; }.onepc-ui-preset { display:inline-flex;gap:8px;align-items:center;border:1px solid var(--ws-border);padding:6px 10px;border-radius:var(--ws-radius-sm);background:var(--ws-surface);color:var(--ws-text);cursor:pointer;font:inherit; }.onepc-ui-preset.is-active { border-color:var(--ws-primary);color:var(--ws-primary);background:var(--ws-primary-soft); }
.onepc-ui-preset-dots { display:flex;gap:3px; }.onepc-ui-preset-dots span,.onepc-ui-token-swatch { width:12px;height:12px;border-radius:3px;display:inline-block; }.onepc-ui-token { display:flex;gap:6px;align-items:center;font:11px var(--ws-mono);padding:6px;border:1px solid var(--ws-border);border-radius:4px; }.onepc-ui-theme-bar { display:flex;align-items:center;gap:12px;flex-wrap:wrap; }.onepc-ui-theme-bar-tail { margin-left:auto;display:flex;gap:8px; }
@container onepc (max-width:640px) { .onepc-k-type.is-h1 { font-size:min(var(--ws-font-size-h1),24px); }.onepc-k-type.is-h2 { font-size:min(var(--ws-font-size-h2),20px); }.onepc-k-form-grid { grid-template-columns:1fr!important; }.onepc-k-grid { grid-template-columns:1fr!important; }.onepc-k-toasts { max-width:calc(100vw - 24px); }.onepc-k-dialog { max-width:calc(100vw - 24px); }.onepc-k-table-wrap { overflow-x:auto; } }
@media (prefers-reduced-motion:reduce) { .onepc-provider *,.onepc-provider *::before,.onepc-provider *::after { animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important; } }
/* Keep the official desktop range layout; stack its months on narrow screens. */
@media (max-width:640px) {
  .onepc-range-popup .onepc-ant-picker-panels { flex-direction:column; }
  .onepc-picker-popup .onepc-ant-picker-datetime-panel,.onepc-picker-popup .onepc-ant-picker-panel-layout { flex-direction:column; }
  .onepc-picker-popup .onepc-ant-picker-panel-container { max-width:calc(100vw - 24px);max-height:min(55vh,480px);overflow:auto; }
}
.onepc-provider{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
.onepc-tabs-pills>.onepc-ant-tabs-nav::before{display:none;}
.onepc-tabs-pills>.onepc-ant-tabs-nav .onepc-ant-tabs-nav-list{gap:4px;padding: 0 10px !important;background:var(--onepc-muted-surface,var(--ws-bg));border:1px solid var(--ws-border);border-radius:calc(var(--ws-radius-sm) + 3px);}
.onepc-tabs-pills>.onepc-ant-tabs-nav .onepc-ant-tabs-tab{margin:0!important;padding:7px 14px;border-radius:var(--ws-radius-sm);line-height:1.5;transition:background 160ms,box-shadow 160ms;}
.onepc-tabs-pills>.onepc-ant-tabs-nav .onepc-ant-tabs-tab-active{background:var(--ws-surface);box-shadow:0 1px 3px rgb(0 0 0 / .08);}
.onepc-tabs-pills>.onepc-ant-tabs-nav .onepc-ant-tabs-tab-active .onepc-ant-tabs-tab-btn{color:var(--ws-text);text-shadow:none;}
.onepc-tabs-pills>.onepc-ant-tabs-nav .onepc-ant-tabs-ink-bar{display:none;}
.onepc-tabs-pills>.onepc-ant-tabs-nav .onepc-ant-tabs-tab-btn:focus-visible{outline:2px solid var(--onepc-ring,var(--ws-primary));outline-offset:3px;border-radius:2px;}
.onepc-tabs-pills[data-onepc-orientation=vertical]>.onepc-ant-tabs-nav .onepc-ant-tabs-nav-list{flex-direction:column; padding: 0 10px;}
.onepc-provider[data-density=touch] .onepc-tabs-pills>.onepc-ant-tabs-nav .onepc-ant-tabs-tab{min-height:48px;display:flex;align-items:center;}
.onepc-data-grid,.onepc-data-grid table{font-variant-numeric:tabular-nums;}
@media(prefers-reduced-motion:reduce){.onepc-tabs-pills .onepc-ant-tabs-tab{transition:none;}}

.onepc-pagination>.onepc-ant-pagination{min-width:0;max-width:100%;flex-wrap:wrap;row-gap:8px;padding: 0 10px 10px 10px}

/* 卡片头：单行时 min-height 56px 不变；两行（标题 + 说明）时给足上下留白，不再贴着容器边。
   说明行的字号与行高在 Panel 里显式下放到 12px/18px（否则会继承标题的 20px/32px）。
   ⚠️ 选择器必须是 3 层：antd 的是 `:where(...).onepc-ant-card .onepc-ant-card-head`（0,2,0），
   只写 `.onepc-ant-card-head`（0,1,0）会被它压掉，padding-block 静默失效。 */
.onepc-provider .onepc-ant-card .onepc-ant-card-head { padding-block: 12px; }
.onepc-ant-card-head-title { font-size: 20px; line-height: 32px; }
.onepc-provider .onepc-ant-card .onepc-ant-card-head-title .onepc-ant-typography { font-size: 12px; line-height: 18px; font-weight: 400; }
.onepc-ant-card-head-title .onepc-ant-space-item:last-child > div > div { line-height: 18px; }
.onepc-box, .onepc-layout, .onepc-scroll-area { box-sizing: border-box; min-width: 0; }
.onepc-layout { --onepc-layout-gap-base: initial; --onepc-layout-gap-xs: initial; --onepc-layout-gap-sm: initial; --onepc-layout-gap-md: initial; --onepc-layout-gap-lg: initial; --onepc-layout-gap-xl: initial; --onepc-layout-columns-base: initial; --onepc-layout-columns-xs: initial; --onepc-layout-columns-sm: initial; --onepc-layout-columns-md: initial; --onepc-layout-columns-lg: initial; --onepc-layout-columns-xl: initial; --onepc-layout-row-gap-base: initial; --onepc-layout-row-gap-xs: initial; --onepc-layout-row-gap-sm: initial; --onepc-layout-row-gap-md: initial; --onepc-layout-row-gap-lg: initial; --onepc-layout-row-gap-xl: initial; --onepc-layout-gap: var(--onepc-layout-gap-base, 12px); --onepc-layout-columns: var(--onepc-layout-columns-base, 1); --onepc-layout-row-gap: var(--onepc-layout-row-gap-base, var(--onepc-layout-gap)); gap: var(--onepc-layout-gap); }
.onepc-stack { display: flex; flex-direction: column; }
.onepc-group { display: flex; }
.onepc-group-grow > * { flex: 1; min-width: 0; }
.onepc-simple-grid { display: grid; grid-template-columns: repeat(var(--onepc-layout-columns), minmax(0, 1fr)); row-gap: var(--onepc-layout-row-gap); }
@media (min-width: 480px) { .onepc-layout { --onepc-layout-gap: var(--onepc-layout-gap-xs, var(--onepc-layout-gap-base, 12px)); --onepc-layout-columns: var(--onepc-layout-columns-xs, var(--onepc-layout-columns-base, 1)); --onepc-layout-row-gap: var(--onepc-layout-row-gap-xs, var(--onepc-layout-row-gap-base, var(--onepc-layout-gap))); } }
@media (min-width: 576px) { .onepc-layout { --onepc-layout-gap: var(--onepc-layout-gap-sm, var(--onepc-layout-gap-xs, var(--onepc-layout-gap-base, 12px))); --onepc-layout-columns: var(--onepc-layout-columns-sm, var(--onepc-layout-columns-xs, var(--onepc-layout-columns-base, 1))); --onepc-layout-row-gap: var(--onepc-layout-row-gap-sm, var(--onepc-layout-row-gap-xs, var(--onepc-layout-row-gap-base, var(--onepc-layout-gap)))); } }
@media (min-width: 768px) { .onepc-layout { --onepc-layout-gap: var(--onepc-layout-gap-md, var(--onepc-layout-gap-sm, var(--onepc-layout-gap-xs, var(--onepc-layout-gap-base, 12px)))); --onepc-layout-columns: var(--onepc-layout-columns-md, var(--onepc-layout-columns-sm, var(--onepc-layout-columns-xs, var(--onepc-layout-columns-base, 1)))); --onepc-layout-row-gap: var(--onepc-layout-row-gap-md, var(--onepc-layout-row-gap-sm, var(--onepc-layout-row-gap-xs, var(--onepc-layout-row-gap-base, var(--onepc-layout-gap))))); } }
@media (min-width: 992px) { .onepc-layout { --onepc-layout-gap: var(--onepc-layout-gap-lg, var(--onepc-layout-gap-md, var(--onepc-layout-gap-sm, var(--onepc-layout-gap-xs, var(--onepc-layout-gap-base, 12px))))); --onepc-layout-columns: var(--onepc-layout-columns-lg, var(--onepc-layout-columns-md, var(--onepc-layout-columns-sm, var(--onepc-layout-columns-xs, var(--onepc-layout-columns-base, 1))))); --onepc-layout-row-gap: var(--onepc-layout-row-gap-lg, var(--onepc-layout-row-gap-md, var(--onepc-layout-row-gap-sm, var(--onepc-layout-row-gap-xs, var(--onepc-layout-row-gap-base, var(--onepc-layout-gap)))))); } }
@media (min-width: 1200px) { .onepc-layout { --onepc-layout-gap: var(--onepc-layout-gap-xl, var(--onepc-layout-gap-lg, var(--onepc-layout-gap-md, var(--onepc-layout-gap-sm, var(--onepc-layout-gap-xs, var(--onepc-layout-gap-base, 12px)))))); --onepc-layout-columns: var(--onepc-layout-columns-xl, var(--onepc-layout-columns-lg, var(--onepc-layout-columns-md, var(--onepc-layout-columns-sm, var(--onepc-layout-columns-xs, var(--onepc-layout-columns-base, 1)))))); --onepc-layout-row-gap: var(--onepc-layout-row-gap-xl, var(--onepc-layout-row-gap-lg, var(--onepc-layout-row-gap-md, var(--onepc-layout-row-gap-sm, var(--onepc-layout-row-gap-xs, var(--onepc-layout-row-gap-base, var(--onepc-layout-gap))))))); } }
.onepc-scroll-area { overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--onepc-border, #d9d9d9) transparent; }
.onepc-scroll-area::-webkit-scrollbar { width: var(--onepc-scrollbar-size, 8px); height: var(--onepc-scrollbar-size, 8px); }
.onepc-scroll-area::-webkit-scrollbar-thumb { background: var(--onepc-border, #d9d9d9); border-radius: 999px; }
.onepc-scroll-area:focus-visible { outline: 2px solid var(--onepc-primary, #1677ff); outline-offset: 2px; }
.onepc-kbd { display: inline-flex; align-items: center; justify-content: center; min-width: 1.5em; padding: 1px 5px; border: 1px solid var(--onepc-border, #d9d9d9); border-bottom-width: 2px; border-radius: var(--onepc-radius-sm, 6px); background: var(--onepc-bg, #f5f5f5); color: var(--onepc-muted, #595959); font: 11px/1.4 var(--onepc-mono, monospace); white-space: nowrap; }
.onepc-command-modal .onepc-ant-modal-container { padding: 0; overflow: hidden; border: 1px solid var(--onepc-border, #d9d9d9); }
.onepc-command-modal .onepc-ant-modal-header { padding: 16px 44px 12px 16px; margin: 0; border-bottom: 1px solid var(--onepc-border, #d9d9d9); }
.onepc-command-search { padding: 10px 12px; border-bottom: 1px solid var(--onepc-border, #d9d9d9); }
.onepc-command-list { max-height: min(360px, 50dvh); padding: 6px; overflow-y: auto; overscroll-behavior: contain; }
.onepc-command-group-label { margin: 8px 8px 4px; color: var(--onepc-muted, #595959); font-size: var(--onepc-font-size-small, 12px); font-weight: 500; }
.onepc-command-item { display: flex; align-items: center; gap: 10px; min-height: var(--ws-touch-target, 0px); padding: 9px 10px; border-radius: var(--onepc-radius-sm, 6px); color: var(--onepc-text, #1f1f1f); cursor: pointer; }
.onepc-command-item[aria-selected="true"] { background: var(--onepc-bg, #f5f5f5); outline: 1px solid var(--onepc-border, #d9d9d9); outline-offset: -1px; }
.onepc-command-item[aria-disabled="true"] { opacity: .45; cursor: default; }
.onepc-command-item-text { flex: 1; min-width: 0; }
.onepc-command-item-label { display: block; font-size: var(--onepc-font-size-body, 14px); }
.onepc-command-item-description { display: block; font-size: var(--onepc-font-size-small, 12px); color: var(--onepc-muted, #595959); }
.onepc-command-empty { padding: 28px 12px; text-align: center; color: var(--onepc-muted, #595959); }
.onepc-command-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; border-top: 1px solid var(--onepc-border, #d9d9d9); padding: 10px 14px; color: var(--onepc-muted, #595959); font-size: var(--onepc-font-size-small, 12px); }
[data-density="compact"] .onepc-command-item { padding-block: 6px; }
@media (max-width: 575px) { .onepc-command-modal { max-width: calc(100vw - 24px); } .onepc-command-item-description { overflow-wrap: anywhere; } }
.onepc-data-grid{min-width:0;width:100%;color:var(--ws-text,#18181b);font-size:13px;line-height:1.5;background:var(--ws-surface,#fff);border:1px solid var(--ws-border,#e4e4e7);border-radius:8px;overflow:hidden}
.onepc-data-grid__title{padding:16px 16px 0;font-size:16px;font-weight:600;letter-spacing:-.015em}
.onepc-data-grid__toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px 8px;flex-wrap:wrap}
.onepc-data-grid__search{width:280px;max-width:100%;flex:1 1 200px}
.onepc-data-grid__controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.onepc-data-grid__controls>.onepc-ant-select,.onepc-data-grid__controls>.ant-select{min-width:88px}
.onepc-data-grid__status{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px 12px;color:var(--ws-muted,#71717a);font-size:12px;font-variant-numeric:tabular-nums}
.onepc-data-grid__selection-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 16px;background:var(--ws-bg,#fafafa);border-top:1px solid var(--ws-border,#e4e4e7);font-size:12px}
.onepc-data-grid__column-menu{display:flex;flex-direction:column;gap:10px;min-width:180px;max-height:360px;overflow:auto;padding:4px 0}
.onepc-data-grid__column-menu>button{align-self:flex-start;margin-top:4px}
.onepc-data-grid>.onepc-ant-alert,.onepc-data-grid>.ant-alert{margin:8px 16px 12px}
.onepc-data-grid__table{min-width:0;border-top:1px solid var(--ws-border,#e4e4e7)}
.onepc-data-grid__table table{font-variant-numeric:tabular-nums}
.onepc-data-grid__table [data-grid-row][tabindex="0"]{cursor:pointer}
.onepc-data-grid__table [data-grid-row][tabindex="0"]:focus-visible{outline:2px solid var(--ws-primary,#2563eb);outline-offset:-2px}
.onepc-data-grid__table .onepc-ant-table-container,.onepc-data-grid__table .ant-table-container{border-radius:0!important}
.onepc-data-grid__table .onepc-ant-table-body,.onepc-data-grid__table .ant-table-body,.onepc-data-grid__table .onepc-ant-table-content,.onepc-data-grid__table .ant-table-content{overscroll-behavior-x:contain}
.onepc-data-grid__pagination{display:flex;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--ws-border,#e4e4e7);overflow:auto}
.onepc-data-grid--compact .onepc-data-grid__toolbar{padding-top:8px}
.onepc-data-grid--compact .onepc-data-grid__status{padding-bottom:8px}
@media(max-width:640px){.onepc-data-grid__toolbar{padding:12px;gap:10px}.onepc-data-grid__search{width:100%;flex-basis:100%}.onepc-data-grid__controls{gap:6px}.onepc-data-grid__status{padding:0 12px 10px;align-items:flex-start}.onepc-data-grid__selection-bar{padding:8px 12px}.onepc-data-grid__pagination{padding:10px 12px;justify-content:flex-start}.onepc-data-grid__pagination .onepc-ant-pagination,.onepc-data-grid__pagination .ant-pagination{white-space:nowrap;flex-wrap:nowrap}}
/* ==========================================================================
   OnePC 独立控制台样式
   - 全部选择器以 .onepc- 前缀命名，单独挂载在 .onepc-app 下
   - 不动任何现有页面/全局类，避免仓库里反复出现的裸类名互相覆盖问题
   ========================================================================== */

.onepc-app {
  /* 外壳（侧栏 / 顶栏 / Chat）用的 --op-* 只是**别名**，全部接到公共组件库
     （src/onepc-ui）的全局颜色配置上：OnePCProvider 把主题令牌以 --ws-* 写在
     .onepc-provider 上，库自身的 styles/foundation.css 在 :root 里还有一份回退。
     所以这里**不再出现任何颜色字面量** —— 在组件库页面（/onepc/ui）改主题色，
     整个控制台（含侧栏、顶栏、Chat 气泡）一起跟着变。 */
  --op-primary: var(--ws-primary);
  --op-primary-dark: var(--ws-primary-hover);
  --op-primary-soft: var(--ws-primary-soft);

  /* 四级文字灰阶由库的 text / muted 两级按比例混出，保留原来的层次感 */
  --op-text-1: var(--ws-text);
  --op-text-2: color-mix(in srgb, var(--ws-text) 76%, var(--ws-surface));
  --op-text-3: var(--ws-muted);
  --op-text-4: color-mix(in srgb, var(--ws-muted) 62%, var(--ws-surface));

  --op-muted: var(--ws-muted);

  --op-border: var(--ws-border);
  --op-border-soft: color-mix(in srgb, var(--ws-border) 55%, var(--ws-surface));
  --op-bg: var(--ws-surface);
  --op-bg-side: var(--ws-bg);
  --op-bg-hover: color-mix(in srgb, var(--ws-text) 6%, var(--ws-bg));

  --op-green-bg: var(--ws-success-soft);
  --op-green: var(--ws-success);
  --op-red-bg: var(--ws-danger-soft);
  --op-red: var(--ws-danger);

  --op-radius: var(--ws-radius-md);
  --op-side-w: 232px;

  display: flex;
  height: 100vh;
  overflow: hidden;
  background: var(--op-bg);
  color: var(--op-text-1);
  /* 字族同样取组件库的全局令牌，别让外壳与内容面两套字体 */
  font-family: var(--ws-font-family);
  font-size: 13px;
  line-height: 1.5;
}

.onepc-app *,
.onepc-app *::before,
.onepc-app *::after {
  box-sizing: border-box;
}

/* ------------------------------------------------------------------ 侧栏 */
/* 侧栏本身不再滚动：品牌 + 企业卡片固定在上，底部账号区固定在下，
   中间「域按钮 + 各组导航」放进 .onepc-sidebar-nav 自己滚（方案 A 加了
   个人账号 / 企业管理两组之后，条目数会超过一屏）。 */
.onepc-sidebar {
  width: var(--op-side-w);
  flex: 0 0 var(--op-side-w);
  background: var(--op-bg-side);
  border-right: 1px solid var(--op-border-soft);
  display: flex;
  flex-direction: column;
  padding: 14px 12px 10px;
  overflow: hidden;
}

/* 侧栏的可滚动区：域按钮 + 当前域二级导航 + 常驻的两组 */
.onepc-sidebar-nav {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}

.onepc-brand {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 2px 6px 14px;
}

.onepc-brand-logo {
  width: 33px;
  height: 33px;
  object-fit: contain;
}

.onepc-brand-name {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.2px;
  color: var(--op-text-1);
}

/* 企业卡片 */
.onepc-org {
  display: flex;
  gap: 9px;
  align-items: center;
  padding: 8px 10px;
  border-radius: var(--op-radius);
  margin-bottom: 12px;
}

.onepc-org-avatar {
  position: relative;
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--op-border);
  display: flex;
  align-items: center;
  justify-content: center;
}

.onepc-org-avatar::after {
  content: '';
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--op-primary);
}

.onepc-org-dot {
  position: absolute;
  left: -1px;
  bottom: -1px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #fff;
  border: 1.5px solid var(--op-primary);
}

.onepc-org-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.onepc-org-name {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--op-text-1);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.onepc-org-sub {
  font-size: 11px;
  color: var(--op-text-4);
  margin-top: 1px;
}

/* 域切换：Chat / Work */
.onepc-domain {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 12px;
  margin-bottom: 6px;
  border: 0;
  border-radius: var(--op-radius);
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background 0.15s;
}

.onepc-domain:hover {
  background: var(--op-bg-hover);
}

.onepc-domain.is-active,
.onepc-domain.is-active:hover {
  background: var(--op-primary);
  color: #fff;
}

.onepc-domain-icon {
  font-size: 16px;
  line-height: 1;
  color: var(--op-text-2);
  flex: 0 0 auto;
}

.onepc-domain.is-active .onepc-domain-icon {
  color: #fff;
}

.onepc-domain-text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.onepc-domain-title {
  font-size: 13.5px;
  font-weight: 600;
}

.onepc-domain-sub {
  font-size: 11px;
  color: var(--op-text-3);
  margin-top: 1px;
}

.onepc-domain.is-active .onepc-domain-sub {
  color: rgba(255, 255, 255, 0.78);
}

.onepc-domain-arrow {
  font-size: 11px;
  color: var(--op-text-4);
  flex: 0 0 auto;
}

.onepc-domain.is-active .onepc-domain-arrow {
  color: #fff;
}

/* 分组导航 */
.onepc-nav-group {
  margin-top: 14px;
}

.onepc-nav-group-title {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.4px;
  color: var(--op-text-4);
  padding: 0 10px 6px;
  text-transform: uppercase;
}

/* 「个人账号 / 企业管理」两组是常驻在侧栏下方的（方案 A），
   与上方「域 + 域内二级导航」用一条分隔线区分开；组头是可折叠按钮。 */
.onepc-nav-group.is-extra {
  margin-top: 18px;
  padding-top: 12px;
  border-top: 1px solid var(--op-border-soft);
}

.onepc-nav-group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  width: 100%;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.onepc-nav-group-head:hover .onepc-nav-group-title {
  color: var(--op-text-2);
}

.onepc-nav-group-head .onepc-nav-group-title {
  padding: 0 0 6px 10px;
}

.onepc-nav-group-caret {
  margin: 0 10px 6px 0;
  font-size: 10px;
  color: var(--op-text-4);
  transition: transform 0.15s;
}

.onepc-nav-group-caret.is-open {
  transform: rotate(180deg);
}

.onepc-nav-item {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  padding: 7px 10px;
  margin-bottom: 2px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--op-text-1);
  font: inherit;
  font-size: 12.5px;
  text-align: left;
  cursor: pointer;
  transition: background 0.15s;
}

.onepc-nav-item:hover {
  background: var(--op-bg-hover);
}

.onepc-nav-item.is-active {
  background: var(--op-primary-soft);
  color: var(--op-primary);
  font-weight: 500;
}

.onepc-nav-icon {
  font-size: 14px;
  color: var(--op-text-3);
  flex: 0 0 auto;
}

.onepc-nav-item.is-active .onepc-nav-icon {
  color: var(--op-primary);
}

.onepc-nav-label {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.onepc-nav-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--op-primary);
  flex: 0 0 auto;
}

/* 侧栏底部 */
.onepc-sidebar-foot {
  flex: 0 0 auto;
  margin-top: auto;
  padding-top: 16px;
}

.onepc-scope {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--op-text-4);
  padding: 0 10px 10px;
}

.onepc-user {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 8px 10px;
  border-radius: var(--op-radius);
  cursor: pointer;
  transition: background 0.15s;
}

.onepc-user:hover {
  background: var(--op-bg-hover);
}

.onepc-user-avatar {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border-radius: 50%;
  background: var(--op-primary-soft);
  color: var(--op-primary);
  font-size: 12px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
}

.onepc-user-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.onepc-user-name {
  font-size: 12.5px;
  font-weight: 600;
}

.onepc-user-sub {
  font-size: 11px;
  color: var(--op-text-4);
  margin-top: 1px;
}

.onepc-user-arrow {
  margin-left: auto;
  font-size: 11px;
  color: var(--op-text-4);
  transition: transform 0.18s;
}

.onepc-user.is-open {
  background: var(--op-bg-hover);
}

.onepc-user.is-open .onepc-user-arrow {
  transform: rotate(90deg);
}

/* ------------------------------------------- 个人信息弹窗（点击左下角用户块） */
/* 用 fixed 而非 absolute：侧栏是 overflow-y:auto 的滚动容器，absolute 向右溢出会被裁掉 */
.onepc-user-pop {
  position: fixed;
  z-index: 60;
  width: 288px;
  max-height: calc(100vh - 110px);
  overflow-y: auto;
  background: #fff;
  border: 1px solid var(--op-border);
  border-radius: 12px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
  padding: 6px;
  animation: onepc-pop-in 0.16s ease-out;
}

@keyframes onepc-pop-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.onepc-user-pop-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 10px 11px;
  margin-bottom: 4px;
  border-bottom: 1px solid var(--op-border-soft);
}

.onepc-user-pop-avatar {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 50%;
  background: var(--op-primary-soft);
  color: var(--op-primary);
  font-size: 14px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
}

.onepc-user-pop-id {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.onepc-user-pop-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--op-text-1);
}

.onepc-user-pop-mail {
  margin-top: 1px;
  font-size: 11px;
  color: var(--op-text-4);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.onepc-user-pop-group + .onepc-user-pop-group {
  margin-top: 2px;
}

.onepc-user-pop-group-title {
  padding: 7px 10px 3px;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: var(--op-text-4);
}

.onepc-user-pop-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 7px 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background 0.15s;
}

.onepc-user-pop-item:hover {
  background: var(--op-bg-side);
}

.onepc-user-pop-icon {
  flex: 0 0 15px;
  display: inline-flex;
  justify-content: center;
  font-size: 14px;
  color: var(--op-text-3);
}

.onepc-user-pop-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.onepc-user-pop-label {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--op-text-1);
}

.onepc-user-pop-desc {
  margin-top: 1px;
  font-size: 11px;
  color: var(--op-text-4);
}

.onepc-user-pop-foot {
  margin-top: 4px;
  padding-top: 4px;
  border-top: 1px solid var(--op-border-soft);
}

.onepc-user-pop-item.is-danger .onepc-user-pop-icon,
.onepc-user-pop-item.is-danger .onepc-user-pop-label {
  color: var(--op-red);
}

.onepc-user-pop-item.is-danger:hover {
  background: var(--op-red-bg);
}

/* ------------------------------------------------------------------ 主区 */
.onepc-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: var(--op-bg);
}

.onepc-topbar {
  height: 49px;
  flex: 0 0 49px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 24px;
  border-bottom: 1px solid var(--op-border);
}

.onepc-topbar-tab {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--op-text-1);
  padding-bottom: 1px;
}

.onepc-topbar-tab.is-active {
  border-bottom: 2px solid var(--op-primary);
}

.onepc-topbar-sub {
  font-size: 12px;
  color: var(--op-text-4);
}

.onepc-badge-active {
  margin-left: auto;
  background: var(--op-green-bg);
  color: var(--op-green);
  font-size: 11.5px;
  padding: 3px 9px;
  border-radius: 6px;
}

.onepc-content {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  position: relative;
}

/* ------------------------------------------------------------- Chat 视图
   1:1 对齐 demo `web/features/enterprise/ChatPage.tsx`（enterprise.css 703-1135 +
   assistant.css composer + agents.css selection）：
   三段式 = 左「历史对话」栏 252px + 右主区（工具栏 / 消息 / composer）。
   色值取 demo tokens.css 的字面值，不引第二套令牌。 */

.onepc-chat {
  --ch-text: #202735;
  --ch-muted: #748096;
  --ch-muted-strong: #526179;
  --ch-border: #e4e8ef;
  --ch-bg: #f7f8fa;
  --ch-surface: #fff;
  --ch-primary: var(--op-primary, #3267e8);
  --ch-primary-soft: #edf3ff;
  --ch-primary-hover: #2255ce;
  --ch-warning: #a16a18;
  --ch-radius-sm: 7px;
  --ch-radius-md: 11px;
  --ch-radius-lg: 16px;
  --ch-shadow-md: 0 8px 30px rgb(39 61 89 / 6%);
  display: grid;
  grid-template-columns: 252px minmax(0, 1fr);
  height: 100%;
  min-height: 0;
  min-width: 0;
  position: relative;
  background: var(--ch-surface);
  color: var(--ch-text);
  font-size: 15px;
  line-height: 1.6;
}
.onepc-chat .onepc-k-select-box {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  min-height: 30px;
  padding: 0 8px;
  border: 1px solid var(--ch-border);
  border-radius: var(--ch-radius-sm);
  background: var(--ch-surface);
  color: var(--ch-text);
  font: inherit;
  font-size: 12px;
  text-align: left;
  cursor: pointer;
  transition:
    border-color 0.15s,
    box-shadow 0.15s;
}
.onepc-chat .onepc-k-select-box:hover {
  border-color: var(--ch-muted);
}
.onepc-chat .onepc-k-select-box:focus-visible,
.onepc-chat .onepc-k-select-box.is-open {
  outline: none;
  border-color: var(--ch-primary);
  box-shadow: 0 0 0 2px var(--ch-primary-soft);
}
.onepc-chat .onepc-k-select-text {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.onepc-chat .onepc-k-select-text.is-placeholder {
  color: var(--ch-muted);
  opacity: 0.85;
}
.onepc-chat .onepc-k-select-arrow {
  flex: 0 0 auto;
  color: var(--ch-muted);
}
.onepc-chat .onepc-k-select-pop {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 160px;
  max-width: min(92vw, 360px);
  max-height: 264px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 5px;
  border: 1px solid var(--ch-border);
  border-radius: var(--ch-radius-md);
  background: var(--ch-surface);
  box-shadow: 0 12px 32px rgb(23 32 48 / 14%);
  scrollbar-width: none;
  z-index: 30;
}
.onepc-chat .onepc-k-select-pop::-webkit-scrollbar {
  width: 0;
  height: 0;
}
.onepc-chat .onepc-k-select-opt {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 6px 8px;
  border-radius: var(--ch-radius-sm);
  color: var(--ch-text);
  font-size: 12px;
  white-space: nowrap;
  cursor: pointer;
}
.onepc-chat .onepc-k-select-opt.is-active {
  background: var(--ch-bg);
}
.onepc-chat .onepc-k-select-opt.is-selected {
  color: var(--ch-primary);
  font-weight: 600;
}
.onepc-chat .onepc-k-select-opt.is-disabled {
  color: var(--ch-muted);
  cursor: not-allowed;
}
.onepc-chat .onepc-k-select-opt-label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.onepc-chat .onepc-k-select-opt-check {
  flex: 0 0 auto;
  color: var(--ch-primary);
}
/* 分组头：小号灰字，不可点 */
.onepc-chat .onepc-k-select-group {
  padding: 7px 8px 3px;
  color: var(--ch-muted);
  font-size: 11px;
  letter-spacing: 0.02em;
  cursor: default;
}

/* ------------------------------------------------ 左侧「历史对话」栏 */
.onepc-chat-history {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  padding: 23px 14px 16px;
  border-right: 1px solid var(--ch-border);
  background: var(--ch-bg);
}

.onepc-chat-history-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 8px 15px;
}

.onepc-chat-history-head h2 {
  margin: 0;
  font-size: 15px;
  font-weight: 650;
  letter-spacing: 0.01em;
  color: var(--ch-text);
}

.onepc-chat-new {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--ch-primary);
  border-radius: var(--ch-radius-md);
  background: var(--ch-primary);
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 620;
  cursor: pointer;
  transition: background 0.15s;
}
.onepc-chat-new:hover {
  background: var(--ch-primary-hover);
}

.onepc-chat-search {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 17px 1px 12px;
  padding: 0 10px;
  border: 1px solid var(--ch-border);
  border-radius: var(--ch-radius-sm);
  background: var(--ch-surface);
  color: var(--ch-muted);
}
.onepc-chat-search:focus-within {
  border-color: var(--ch-primary);
  box-shadow: 0 0 0 2px var(--ch-primary-soft);
}
.onepc-chat-search input {
  flex: 1;
  min-width: 0;
  height: 35px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ch-text);
  font-size: 12px;
}

.onepc-chat-lifecycle {
  margin: 0 1px;
}

.onepc-chat-history-list {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 8px 1px 1px;
}

.onepc-chat-history-state {
  margin: 16px 5px;
  color: var(--ch-muted);
  font-size: 12px;
  line-height: 1.6;
}

.onepc-chat-history-item {
  display: flex;
  align-items: center;
  min-width: 0;
  margin: 3px 0;
  border-left: 3px solid transparent;
  border-radius: var(--ch-radius-sm);
}
.onepc-chat-history-item:hover,
.onepc-chat-history-item.is-selected {
  background: var(--ch-surface);
}
.onepc-chat-history-item.is-selected {
  border-left-color: var(--ch-primary);
}

.onepc-chat-history-open {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  min-width: 0;
  padding: 10px 7px 10px 9px;
  border: 0;
  background: transparent;
  color: var(--ch-text);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.onepc-chat-history-name {
  display: block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
  font-weight: 570;
}
.onepc-chat-history-meta {
  display: block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--ch-muted-strong);
  font-size: 10px;
}

.onepc-chat-history-item-actions {
  display: flex;
  flex-shrink: 0;
  gap: 1px;
  padding-right: 3px;
}
.onepc-chat-history-item-actions button {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border: 0;
  border-radius: var(--ch-radius-sm);
  background: transparent;
  color: var(--ch-muted);
  cursor: pointer;
}
.onepc-chat-history-item-actions button:hover {
  background: var(--ch-primary-soft);
  color: var(--ch-primary);
}
.onepc-chat-history-item-actions button:last-child:hover {
  background: #fff7e7;
  color: #c84343;
}

.onepc-chat-task-entry {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  min-height: 38px;
  margin-top: 8px;
  padding: 0 10px;
  border: 0;
  border-top: 1px solid var(--ch-border);
  border-radius: 0;
  background: transparent;
  color: var(--ch-text);
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}
.onepc-chat-task-entry:hover {
  background: var(--ch-primary-soft);
}
.onepc-chat-task-entry span {
  flex: 1;
  text-align: left;
}
.onepc-chat-task-entry small {
  min-width: 21px;
  padding: 3px;
  border-radius: var(--ch-radius-sm);
  background: var(--ch-primary-soft);
  color: var(--ch-muted-strong);
  text-align: center;
}

/* ------------------------------------------------ 右主区：工具栏 */
.onepc-chat-main {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
}

.onepc-chat-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 17px 26px;
  flex-shrink: 0;
}

.onepc-chat-toolbar-left {
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: 13px;
}

.onepc-chat-mode {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 550;
  color: var(--ch-text);
}
.onepc-chat-mode-icon {
  color: var(--ch-primary);
  font-size: 14px;
}

/* 窄屏历史开关：桌面隐藏（demo 同款：display:none 由媒体查询翻面） */
.onepc-chat-history-toggle,
.onepc-chat-history-close {
  display: none;
}

/* ------------------------------------------------ 消息区 */
.onepc-chat-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 12px max(28px, calc((100% - 850px) / 2));
  /* 不要 scroll-behavior:smooth：程序化 scrollTop 赋值（切会话回底部、加载更早补偿高度）
     会变成动画，验证脚本与用户感知都会读到中间值 */
}

.onepc-welcome {
  min-height: min(420px, 55vh);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.onepc-welcome-logo {
  width: 64px;
  height: 64px;
  object-fit: contain;
  margin-bottom: 23px;
}
.onepc-welcome-title {
  font-size: 29px;
  font-weight: 550;
  color: var(--ch-text);
  margin: 0 0 10px;
}
.onepc-welcome-sub {
  font-size: 14px;
  color: var(--ch-muted-strong);
  margin: 0;
}

.onepc-chat-suggestions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 9px;
  margin: 29px 0 15px;
}
.onepc-chat-suggestions button {
  background: var(--ch-surface);
  border: 1px solid var(--ch-border);
  border-radius: var(--ch-radius-sm);
  padding: 9px 14px;
  color: var(--ch-muted);
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}
.onepc-chat-suggestions button:hover {
  background: var(--ch-primary-soft);
  color: var(--ch-primary);
}

/* 消息：demo 版式 = 角色小标签在上（无头像），用户消息右对齐 + 淡主题色气泡 */
.onepc-msgs {
  padding-bottom: 12px;
}
.onepc-msg {
  max-width: 100%;
  margin: 18px 0 28px;
}
.onepc-msg.is-user {
  max-width: 85%;
  margin-left: auto;
}
.onepc-msg-role {
  font-size: 11px;
  color: var(--ch-muted-strong);
  margin-bottom: 8px;
}
.onepc-msg.is-user .onepc-msg-role {
  text-align: right;
}
.onepc-msg-text {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: 14px;
  line-height: 1.85;
  color: var(--ch-text);
}
.onepc-msg.is-user .onepc-msg-text {
  background: var(--ch-primary-soft);
  padding: 12px 17px;
  border-radius: var(--ch-radius-lg) var(--ch-radius-lg) var(--ch-radius-sm) var(--ch-radius-lg);
}
.onepc-msg.ai .onepc-msg-text,
.onepc-msg:not(.is-user) .onepc-msg-text {
  padding: 0 2px;
}
.onepc-typing {
  display: inline-flex;
  gap: 4px;
  align-items: center;
  padding: 4px 2px;
}
.onepc-typing i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--ch-muted);
  animation: onepc-typing 1.2s infinite ease-in-out;
}
.onepc-typing i:nth-child(2) {
  animation-delay: 0.15s;
}
.onepc-typing i:nth-child(3) {
  animation-delay: 0.3s;
}
@keyframes onepc-typing {
  0%,
  60%,
  100% {
    opacity: 0.35;
    transform: translateY(0);
  }
  30% {
    opacity: 1;
    transform: translateY(-3px);
  }
}

.onepc-msgs-hint {
  margin: 16px auto;
  max-width: 460px;
  text-align: center;
  font-size: 12px;
  color: var(--ch-muted);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.onepc-msgs-hint.is-error {
  color: #c84343;
}
.onepc-msgs-retry {
  border: 1px solid var(--ch-border);
  border-radius: var(--ch-radius-sm);
  background: var(--ch-surface);
  color: var(--ch-primary);
  font-size: 12px;
  padding: 5px 12px;
  cursor: pointer;
}

/* ------------------------------------------------ 输入区（composer） */
.onepc-composer {
  width: min(900px, 100%);
  align-self: center;
  padding: 15px 25px 12px;
  flex-shrink: 0;
  max-height: 54vh;
  overflow-y: auto;
}

.onepc-composer-card {
  border: 1px solid var(--ch-border);
  background: var(--ch-surface);
  box-shadow: var(--ch-shadow-md);
  border-radius: var(--ch-radius-lg);
  padding: 16px 18px 12px;
  transition: border-color 0.15s;
}
.onepc-composer-card:focus-within {
  border-color: var(--ch-primary);
}

.onepc-composer-input {
  width: 100%;
  height: 62px;
  min-height: 48px;
  max-height: 180px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ch-text);
  font: inherit;
  font-size: 14px;
  line-height: 1.7;
  resize: vertical;
  padding: 0;
}
.onepc-composer-input::placeholder {
  color: var(--ch-muted);
  opacity: 0.9;
}

/* 资料 / 附件 / 获权设备 入口行（demo chat-resource-inline） */
.onepc-chat-resource-inline {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  font-size: 12px;
  color: var(--ch-muted);
  padding: 8px 0;
}

/* 专家 / 模型 / 应用 三联下拉（demo assistant-composer-options） */
.onepc-composer-options {
  display: grid;
  grid-template-columns: 1fr 1fr 1.2fr;
  align-items: center;
  gap: 8px;
  padding: 11px 0;
  border-top: 1px solid var(--ch-border);
  margin-top: 8px;
}
.onepc-composer-option {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  padding: 5px 8px;
  border-radius: var(--ch-radius-sm);
  background: var(--ch-bg);
  color: var(--ch-muted);
}
.onepc-composer-option > svg {
  flex: 0 0 auto;
}
.onepc-composer-option:focus-within {
  box-shadow: 0 0 0 2px var(--ch-primary);
}

/* 智能体（工作模式）行（demo agents-selection） */
.onepc-composer-agent {
  display: flex;
  gap: 9px;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  padding-top: 6px;
  border-top: 1px solid #edf1f8;
}
.onepc-agents-mode-label {
  font-size: 12px;
  color: #64748b;
}
.onepc-composer-agent .onepc-k-select-box {
  border: 0;
  min-height: 26px;
  padding: 0;
  font-size: 13px;
  background: transparent;
}
.onepc-composer-agent .onepc-k-select-box:hover {
  border: 0;
}

/* 外发同意（demo assistant-consent） */
.onepc-consent {
  padding: 10px 12px;
  border: 1px solid var(--ch-border);
  border-radius: var(--ch-radius-sm);
  background: var(--ch-primary-soft);
  margin: 10px 0 2px;
}
.onepc-consent label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 12px;
  color: var(--ch-text);
  cursor: pointer;
}
.onepc-consent input {
  margin: 3px 0 0;
  accent-color: var(--ch-primary);
}
.onepc-consent p {
  font-size: 10px;
  margin: 6px 0 0 21px;
  line-height: 1.8;
  overflow-wrap: anywhere;
  color: var(--ch-muted-strong);
}
.onepc-chat-current-input {
  color: var(--ch-text);
}
.onepc-chat-current-input strong {
  font-weight: 600;
}

/* 历史预览（远端模型 + 无应用时） */
.onepc-chat-history-preview {
  padding: 6px 0 12px;
  font-size: 12px;
}
.onepc-chat-history-preview-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.onepc-chat-history-preview strong {
  font-size: 12px;
}
.onepc-chat-history-preview .onepc-dialog-text {
  margin: 5px 0;
  font-size: 11px;
}
.onepc-chat-history-preview-text {
  max-height: 180px;
  overflow-y: auto;
  margin: 9px 0;
  padding: 8px 10px;
  border: 1px solid var(--ch-border);
  border-radius: var(--ch-radius-sm);
  background: var(--ch-bg);
}
.onepc-chat-history-preview-text p {
  margin: 6px 0 10px;
  overflow-wrap: anywhere;
}
.onepc-chat-history-preview-text strong {
  display: block;
  margin-bottom: 2px;
  color: var(--ch-muted);
  font-size: 10px;
}
.onepc-chat-history-preview-text span {
  white-space: pre-wrap;
  line-height: 1.55;
}
.onepc-chat-history-preview label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 12px;
  color: var(--ch-text);
}
.onepc-chat-history-preview input {
  margin: 3px 0 0;
  accent-color: var(--ch-primary);
}

/* 底行：状态 + 附件 + 发送 */
.onepc-composer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-top: 6px;
}
.onepc-composer-note {
  font-size: 11px;
  color: var(--ch-muted-strong);
  flex: 1;
}
.onepc-attach-btn {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: var(--ch-radius-sm);
  background: transparent;
  color: var(--ch-muted);
  cursor: pointer;
}
.onepc-attach-btn:hover {
  background: var(--ch-primary-soft);
  color: var(--ch-primary);
}
.onepc-send {
  border: 0;
  border-radius: var(--ch-radius-sm);
  background: var(--ch-primary);
  color: #fff;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  font-size: 15px;
  cursor: pointer;
}
.onepc-send:disabled {
  background: #c9cdd4;
  cursor: not-allowed;
}
.onepc-send:not(:disabled):hover {
  background: var(--ch-primary-hover);
}

.onepc-chat-disclaimer {
  font-size: 10px;
  text-align: center;
  margin: 11px 0 0;
  color: var(--ch-muted-strong);
  line-height: 1.7;
}

.onepc-footnote {
  text-align: center;
  font-size: 11px;
  color: var(--op-text-4);
  padding: 6px 24px 12px;
  line-height: 1.6;
}

/* 弹窗正文（重命名 / 删除 / 舍弃草稿 / 获权设备共用） */
.onepc-dialog-text {
  margin: 0;
  font-size: 13px;
  line-height: 1.7;
  color: var(--op-text-2, #4b5563);
}
.onepc-chat .onepc-input {
  width: 100%;
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid var(--ch-border);
  border-radius: var(--ch-radius-sm);
  background: var(--ch-surface);
  color: var(--ch-text);
  font: inherit;
  font-size: 13px;
}
.onepc-chat .onepc-input:focus {
  outline: none;
  border-color: var(--ch-primary);
  box-shadow: 0 0 0 3px var(--ch-primary-soft);
}

/* 文字链小按钮（维护专家 / 维护模型） */
.onepc-text-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border: 0;
  background: transparent;
  color: var(--ch-muted);
  border-radius: var(--ch-radius-sm);
  cursor: pointer;
}
.onepc-text-link:hover {
  color: var(--ch-primary);
  background: var(--ch-primary-soft);
}

/* ------------------------------------------------ 窄屏（≤760px）：侧栏改抽屉 */
@media (max-width: 760px) {
  .onepc-chat {
    grid-template-columns: minmax(0, 1fr);
  }
  .onepc-chat-history {
    position: fixed;
    inset-block: 0;
    left: 0;
    z-index: 40;
    width: min(300px, 84vw);
    background: var(--ch-bg);
    box-shadow: 0 12px 40px rgb(23 32 48 / 24%);
    transform: translateX(-105%);
    transition: transform 0.22s ease;
  }
  .onepc-chat-history.is-open {
    transform: translateX(0);
  }
  .onepc-chat-history-close,
  .onepc-chat-history-toggle {
    display: grid;
    place-items: center;
    gap: 0;
    width: 27px;
    height: 27px;
    border: 0;
    border-radius: var(--ch-radius-sm);
    background: transparent;
    color: var(--ch-muted);
    cursor: pointer;
    font-size: 12px;
  }
  .onepc-chat-history-toggle {
    width: auto;
    padding: 0 8px;
    font-size: 12px;
  }
  .onepc-chat-history-close:hover,
  .onepc-chat-history-toggle:hover {
    background: var(--ch-primary-soft);
    color: var(--ch-primary);
  }
  .onepc-composer-options {
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    padding: 9px 0;
  }
  .onepc-composer-option:last-child {
    grid-column: 1 / -1;
  }
  .onepc-composer-option select {
    font-size: 11px;
  }
}


/* ------------------------------------------- Chat · 富文本 / 附件 / 引用
   对齐 /home 聊天（components/shared/ChatContainer）的能力：
   AI 回复按 Markdown 渲染，消息内外都能看图、预览与下载文件。
   色值全部走 --op-* 令牌，与 OnePC 其余部分保持一致。
   ------------------------------------------------------------------------- */

/* ---- Markdown 正文 ---- */
.onepc-msg-text.onepc-md {
  /* 关键：不能沿用 .onepc-msg-text 的 pre-wrap —— ReactMarkdown 输出的块级标签
     之间带换行，pre-wrap 会把它们渲染成一堆空白行 */
  white-space: normal;
}

.onepc-md > :first-child {
  margin-top: 0;
}

.onepc-md > :last-child {
  margin-bottom: 0;
}

.onepc-md p {
  margin: 0 0 8px;
  line-height: 1.7;
}

.onepc-md h1,
.onepc-md h2,
.onepc-md h3,
.onepc-md h4,
.onepc-md h5,
.onepc-md h6 {
  margin: 14px 0 8px;
  line-height: 1.4;
  font-weight: 600;
}

.onepc-md h1 {
  font-size: 18px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--op-border-soft);
}

.onepc-md h2 {
  font-size: 16px;
  padding-bottom: 5px;
  border-bottom: 1px solid var(--op-border-soft);
}

.onepc-md h3 {
  font-size: 14.5px;
}

.onepc-md h4,
.onepc-md h5,
.onepc-md h6 {
  font-size: 13px;
}

.onepc-md h6 {
  color: var(--op-text-3);
}

.onepc-md ul,
.onepc-md ol {
  margin: 8px 0;
  padding-left: 22px;
}

.onepc-md li {
  margin: 4px 0;
  line-height: 1.65;
}

.onepc-md li > ul,
.onepc-md li > ol {
  margin: 3px 0;
}

.onepc-md li::marker {
  color: var(--op-text-3);
}

.onepc-md code {
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 0.88em;
  padding: 1.5px 5px;
  border-radius: 4px;
  background: var(--op-bg-hover);
}

.onepc-md pre {
  margin: 10px 0;
  padding: 12px 14px;
  border: 1px solid var(--op-border-soft);
  border-radius: 8px;
  background: var(--op-bg-side);
  overflow-x: auto;
  line-height: 1.65;
}

.onepc-md pre code {
  padding: 0;
  background: transparent;
  font-size: 12px;
}

.onepc-md blockquote {
  margin: 10px 0;
  padding: 6px 14px;
  border-left: 3px solid var(--op-primary);
  border-radius: 0 6px 6px 0;
  background: var(--op-primary-soft);
  color: var(--op-text-2);
}

.onepc-md a {
  color: var(--op-primary);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.onepc-md a:hover {
  border-bottom-color: var(--op-primary);
}

.onepc-md table {
  display: block;
  width: 100%;
  margin: 10px 0;
  border-collapse: collapse;
  overflow-x: auto;
}

.onepc-md th,
.onepc-md td {
  padding: 7px 11px;
  border: 1px solid var(--op-border);
  text-align: left;
}

.onepc-md th {
  background: var(--op-bg-side);
  font-weight: 600;
}

.onepc-md tbody tr:nth-child(even) {
  background: var(--op-bg-side);
}

.onepc-md hr {
  margin: 14px 0;
  border: 0;
  border-top: 1px solid var(--op-border);
}

.onepc-md img {
  max-width: 100%;
  height: auto;
  border-radius: 6px;
}

.onepc-md strong {
  font-weight: 600;
}

.onepc-md del {
  color: var(--op-text-3);
}

/* 代码高亮：rehype-highlight 只负责加 hljs-* 类名，配色需要这里兜底
   （仓库里没有全局引入 highlight.js 主题，缺了这段代码块就只有灰底没颜色） */
.onepc-md .hljs-comment,
.onepc-md .hljs-quote {
  color: #8a919f;
  font-style: italic;
}

.onepc-md .hljs-keyword,
.onepc-md .hljs-selector-tag,
.onepc-md .hljs-literal,
.onepc-md .hljs-type,
.onepc-md .hljs-tag {
  color: #a626a4;
}

.onepc-md .hljs-string,
.onepc-md .hljs-regexp,
.onepc-md .hljs-addition,
.onepc-md .hljs-attribute {
  color: #0a7d3c;
}

.onepc-md .hljs-number,
.onepc-md .hljs-symbol,
.onepc-md .hljs-bullet {
  color: #b0562a;
}

.onepc-md .hljs-title,
.onepc-md .hljs-name,
.onepc-md .hljs-section,
.onepc-md .hljs-selector-id,
.onepc-md .hljs-selector-class {
  color: #1f5ae0;
}

.onepc-md .hljs-attr,
.onepc-md .hljs-variable,
.onepc-md .hljs-template-variable,
.onepc-md .hljs-property {
  color: #986801;
}

.onepc-md .hljs-built_in,
.onepc-md .hljs-class,
.onepc-md .hljs-function {
  color: var(--op-primary);
}

.onepc-md .hljs-meta,
.onepc-md .hljs-doctag {
  color: #6a737d;
}

.onepc-md .hljs-deletion {
  color: var(--op-red);
}

.onepc-md .hljs-emphasis {
  font-style: italic;
}

.onepc-md .hljs-strong {
  font-weight: 600;
}

/* ---- 消息内附件 ---- */
.onepc-files {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 9px;
}

.onepc-file-img {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 150px;
  max-width: 100%;
  min-height: 66px;
  padding: 0;
  border: 1px solid var(--op-border);
  border-radius: 9px;
  background: var(--op-bg-side);
  overflow: hidden;
  cursor: zoom-in;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.onepc-file-img:hover {
  border-color: var(--op-primary);
  box-shadow: 0 2px 10px rgba(43, 108, 246, 0.12);
}

.onepc-file-img img {
  display: block;
  width: 100%;
  max-height: 190px;
  object-fit: cover;
}

.onepc-file-img.is-loading,
.onepc-file-img.is-failed {
  flex-direction: column;
  gap: 6px;
  min-height: 88px;
  font-size: 11.5px;
  color: var(--op-text-4);
  cursor: default;
}

.onepc-file-img.is-failed .anticon {
  font-size: 18px;
}

.onepc-spin {
  display: inline-block;
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  border: 2px solid var(--op-border);
  border-top-color: var(--op-primary);
  border-radius: 50%;
  animation: onepc-spin 0.8s linear infinite;
}

@keyframes onepc-spin {
  to {
    transform: rotate(360deg);
  }
}

.onepc-file-card {
  display: flex;
  align-items: center;
  gap: 9px;
  max-width: 260px;
  padding: 8px 10px;
  border: 1px solid var(--op-border);
  border-radius: 9px;
  background: var(--op-bg-side);
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
}

.onepc-file-card:hover {
  border-color: var(--op-primary);
  background: var(--op-primary-soft);
}

.onepc-file-icon {
  display: flex;
  flex: 0 0 auto;
  font-size: 19px;
  color: var(--op-primary);
}

.onepc-file-main {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.onepc-file-name {
  font-size: 12.5px;
  color: var(--op-text-1);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.onepc-file-size {
  font-size: 11px;
  color: var(--op-text-4);
}

.onepc-file-acts {
  display: flex;
  flex: 0 0 auto;
  gap: 3px;
  opacity: 0;
  transition: opacity 0.15s;
}

.onepc-file-card:hover .onepc-file-acts {
  opacity: 1;
}

.onepc-file-act {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: 1px solid var(--op-border);
  border-radius: 6px;
  background: #fff;
  color: var(--op-text-2);
  font-size: 12px;
  cursor: pointer;
  transition: color 0.15s, border-color 0.15s;
}

.onepc-file-act:hover {
  color: var(--op-primary);
  border-color: var(--op-primary);
}

/* 触屏没有 hover，操作按钮直接常显 */
@media (hover: none) {
  .onepc-file-acts {
    opacity: 1;
  }
}

/* ---- 溯源引用 ---- */
.onepc-refs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.onepc-ref {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 9px;
  border: 1px solid var(--op-border);
  border-radius: 999px;
  background: var(--op-bg-side);
  font-size: 11px;
  color: var(--op-text-3);
}

.onepc-ref .anticon {
  font-size: 11px;
}

/* ---- 待发送文件 ---- */
.onepc-attach-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 12px 0;
}

.onepc-attach-item {
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: 240px;
  padding: 6px 8px;
  border: 1px solid var(--op-border);
  border-radius: 9px;
  background: var(--op-bg-side);
}

.onepc-attach-item.is-failed {
  border-color: var(--op-red);
  background: var(--op-red-bg);
}

.onepc-attach-media {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  border-radius: 7px;
  background: var(--op-bg-hover);
  color: var(--op-text-2);
  font-size: 16px;
  object-fit: cover;
  overflow: hidden;
}

.onepc-attach-media.is-icon {
  background: var(--op-primary-soft);
  color: var(--op-primary);
}

.onepc-attach-info {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.onepc-attach-name {
  font-size: 12px;
  color: var(--op-text-1);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.onepc-attach-size {
  font-size: 10.5px;
  color: var(--op-text-4);
}

.onepc-attach-item.is-failed .onepc-attach-size {
  color: var(--op-red);
}

.onepc-attach-del {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--op-text-4);
  font-size: 11px;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.onepc-attach-del:hover {
  background: var(--op-red);
  color: #fff;
}

.onepc-attach-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: var(--op-text-3);
  font-size: 15px;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.onepc-attach-btn:hover:not(:disabled) {
  background: var(--op-bg-hover);
  color: var(--op-primary);
}

.onepc-attach-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* --------------------------------------------------- Work · 工作空间视图
   一比一复刻工作空间 demo（ai-workbench 的根路由 /）的观感：
   结构、字号、行高、间距、圆角、配色全部对齐 demo 的
   workspace.css + components.css + tokens.css。

   颜色集中在 --ws-* 里（取值就是 demo 的 :root 令牌，只是包了一层
   var(--onepc-x, 原值) 以便统一换主题，见 ui/theme.js），只作用于
   .onepc-ws / .onepc-as / .onepc-mg / .onepc-ui 四棵子树。

   .onepc-as 是「Chat · 专家库 / 模型设置」两个页面的根；
   .onepc-mg 是组织与人事 / 内控中心；.onepc-ui 是组件库展示页（见本文件末段）。
   它们共享同一套令牌与页面容器宽度。

   .onepc-app 也在内容面的排版里 —— 见下面规则 ② 上方的说明。

   ⚠️ 颜色令牌（--ws-*）**不在这里定义**：一律由公共组件库
   （src/onepc-ui/foundation/theme.js）通过 OnePCProvider 下发，
   库的 styles/foundation.css 在 :root 里另有一份回退值。
   OnePC.css 只消费它们，不覆盖 —— 这样「改一处主题、全站跟着跑」。
   ------------------------------------------------------------------------- */

/* ② 内容面的**布局与排版** —— 这里**故意不含 `.onepc-app`**。
   `.onepc-app` 是控制台外壳，要铺满视口；只有四棵内容子树才收成 demo 的
   1220px 居中容器。
   原先有人用一个补丁挡住了外壳被挤的副作用：把这里那句 `max-width: 1220px;`
   用注释包了起来 —— 副作用确实没了，但**内容面的 1220px 也一起没了**，
   于是 `verify-onepc-workspace` 报出
   「容器 .work-workspace maxWidth: 期望 1220px / 实际 none」。
   把「外壳 / 内容面」拆成两个规则后，两边都成立：
   外壳（`.onepc-app`）不收宽度，四棵内容子树照旧 1220px 居中。 */
.onepc-ws,
.onepc-as,
.onepc-mg,
.onepc-ui {
  max-width: 1220px;
  margin: 0 auto;
  color: var(--ws-text);
  /* 库的字族令牌是 --ws-font-family（--ws-font 是旧的自定义令牌，已随变量层删除） */
  font-family: var(--ws-font-family);
  font-size: 15px;
  line-height: 1.6;
  /* demo 在 body 上设了抗锯齿，macOS 下会明显影响字重观感 */
  -webkit-font-smoothing: antialiased;
}

/* ------------------------------------------------------------------ 页头 */
.onepc-ws-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin-bottom: 30px;
}

.onepc-ws-header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.onepc-ws-eyebrow {
  margin-bottom: 7px;
  color: var(--ws-primary);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.onepc-ws-title {
  margin: 0;
  font-size: 27px;
  font-weight: 650;
  letter-spacing: -0.6px;
  color: var(--ws-text);
}

.onepc-ws-desc {
  margin: 6px 0 0;
  color: var(--ws-muted);
  font-size: 14px;
}

/* ------------------------------------------------------------------ 按钮 / 徽标
   ⚠️ 2026-10-15：这里原来手写的一整套按钮与徽标外观（.onepc-ws-btn / .onepc-as-btn /
   .onepc-ws-badge / .onepc-as-badge，含 is-secondary / is-ghost / is-sm / is-green …
   的配色与尺寸）已**全部删除** —— 按钮改用组件库 `Btn`、徽标改用组件库 `Badge`
   （`.onepc-as-link` 用 Btn 的 ghost 变体）。类名仍留在 DOM 上，但只是结构锚点，
   实际外观一律由组件库的 `.onepc-ant-*` 承担，跟全局主题一起走。 */

/* -------------------------------------------------------------- 欢迎卡片 */
.onepc-ws-welcome {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 21px 24px;
  margin-bottom: 28px;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-lg);
  background: var(--ws-surface);
}

.onepc-ws-welcome-mark {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  flex-shrink: 0;
  border-radius: var(--ws-radius-md);
  background: var(--ws-primary-soft);
  color: var(--ws-primary);
  font-size: 25px;
}

.onepc-ws-welcome-text {
  flex: 1;
  min-width: 0;
}

.onepc-ws-welcome-text h2 {
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 650;
  color: var(--ws-text);
}

.onepc-ws-welcome-text p {
  margin: 0;
  color: var(--ws-muted);
  font-size: 13px;
  line-height: 1.7;
}

.onepc-ws-tabs-count {
  padding: 2px 6px;
  border-radius: 5px;
  background: var(--ws-primary-soft);
  color: var(--ws-primary);
  font-family: var(--ws-mono);
  font-size: 11px;
}

/* ------------------------------------------------------------ 应用卡片网格 */
.onepc-ws-app-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.onepc-ws-app-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 23px;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-lg);
  background: var(--ws-surface);
  transition: box-shadow 140ms ease, border-color 140ms ease;
}

.onepc-ws-app-card:hover {
  border-color: var(--ws-primary);
  /* 库件卡片的悬停抬升阴影（库内 styles/modern.css 同值） */
  box-shadow: 0 8px 22px rgb(0 0 0 / 12%);
}

.onepc-ws-app-card.is-unavailable {
  background: var(--ws-bg);
}

.onepc-ws-app-card.is-unavailable:hover {
  border-color: var(--ws-border);
  box-shadow: none;
}

.onepc-ws-app-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.onepc-ws-app-icon {
  display: inline-grid;
  place-items: center;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  border-radius: var(--ws-radius-md);
  background: var(--ws-primary-soft);
  color: var(--ws-primary);
  font-size: 25px;
}

.onepc-ws-app-category {
  margin: 0 0 7px;
  color: var(--ws-muted);
  font-size: 11px;
}

.onepc-ws-app-name {
  margin: 0 0 12px;
  font-size: 19px;
  font-weight: 650;
  letter-spacing: -0.35px;
  color: var(--ws-text);
}

.onepc-ws-app-desc {
  margin: 0 0 19px;
  min-height: 46px;
  color: var(--ws-muted);
  font-size: 13px;
  line-height: 1.8;
}

.onepc-ws-app-reason {
  flex: 1;
  margin: 0 0 20px;
  color: var(--ws-muted);
  font-size: 12px;
  line-height: 1.65;
}

.onepc-ws-app-actions {
  display: flex;
  align-items: stretch;
  gap: 8px;
  flex-wrap: wrap;
}

.onepc-ws-app-actions .onepc-ws-btn {
  flex: 1;
  padding-inline: 10px;
  font-size: 12px;
}

.onepc-ws-app-admin {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  flex-wrap: wrap;
  min-height: 43px;
  margin-top: 21px;
  padding-top: 10px;
  border-top: 1px solid var(--ws-border);
}

.onepc-ws-app-admin .onepc-ws-btn {
  padding-inline: 0;
  font-size: 11px;
}

.onepc-ws-app-admin small {
  color: var(--ws-muted);
  font-size: 11px;
}

/* ------------------------------------------------------ 应用市场（第二页签） */
.onepc-ws-market-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.onepc-ws-market-head h2 {
  margin: 0 0 5px;
  font-size: 18px;
  font-weight: 620;
  color: var(--ws-text);
}

.onepc-ws-market-head p {
  margin: 0;
  color: var(--ws-muted);
  font-size: 12px;
  line-height: 1.6;
}

.onepc-ws-panel {
  padding: 24px;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-lg);
  background: var(--ws-surface);
}

.onepc-ws-list-panel h2 {
  margin: 0 0 13px;
  font-size: 17px;
  font-weight: 620;
  color: var(--ws-text);
}

.onepc-ws-list-panel article {
  padding: 15px 0;
  border-top: 1px solid var(--ws-border);
}

.onepc-ws-list-panel article p {
  margin: 6px 0 0;
  color: var(--ws-muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}

.onepc-ws-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.onepc-ws-list-head strong {
  font-size: 14px;
  font-weight: 600;
  color: var(--ws-text);
}

.onepc-ws-steps {
  margin: 12px 0 0;
  padding-left: 22px;
  color: var(--ws-text);
  font-size: 12px;
  line-height: 1.9;
}

.onepc-ws-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 62px 20px;
  text-align: center;
  color: var(--ws-muted);
}

.onepc-ws-empty h3 {
  margin: 0;
  color: var(--ws-text);
  font-size: 16px;
  font-weight: 600;
}

.onepc-ws-empty p {
  max-width: 440px;
  margin: 0;
  font-size: 14px;
}

.onepc-ws-empty-icon {
  font-size: 30px;
  color: var(--ws-muted);
}

/* -------------------------------------------------------------- 空间管理 */
.onepc-ws-management {
  margin-top: 40px;
}

.onepc-ws-management-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 16px;
}

.onepc-ws-management-head h2 {
  margin: 0;
  font-size: 16px;
  font-weight: 650;
  color: var(--ws-text);
}

.onepc-ws-management-head p {
  margin: 0;
  color: var(--ws-muted);
  font-size: 12px;
}

.onepc-ws-management-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.onepc-ws-management-grid > button {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
  padding: 20px 18px;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-md);
  background: var(--ws-surface);
  color: var(--ws-primary);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
}

.onepc-ws-management-grid > button:hover {
  border-color: var(--ws-primary);
  background: var(--ws-primary-soft);
}

.onepc-ws-management-grid > button > span {
  flex: 1;
  min-width: 0;
}

.onepc-ws-management-icon {
  font-size: 20px;
  flex-shrink: 0;
}

.onepc-ws-management-grid strong {
  display: block;
  margin-bottom: 6px;
  color: var(--ws-text);
  font-size: 13px;
  font-weight: 600;
}

.onepc-ws-management-grid small {
  color: var(--ws-muted);
  font-size: 11px;
  line-height: 1.5;
}

.onepc-ws-management-arrow {
  flex-shrink: 0;
  font-size: 16px;
}

@media (max-width: 1250px) {
  .onepc-ws-app-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .onepc-ws-management-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .onepc-ws-welcome {
    padding: 18px;
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .onepc-ws-welcome-text {
    min-width: 180px;
  }

  .onepc-ws-app-grid {
    grid-template-columns: 1fr;
  }

  .onepc-ws-app-card {
    padding: 20px;
  }

  .onepc-ws-management-head {
    display: block;
  }

  .onepc-ws-management-head p {
    margin-top: 6px;
  }

  .onepc-ws-header {
    flex-wrap: wrap;
  }
}

/* ------------------------------------------- 工作空间 · 列表 / 表单补充件 */
.onepc-ws-panel > h2 {
  margin: 0 0 13px;
  font-size: 17px;
  font-weight: 620;
  color: var(--ws-text);
}

.onepc-ws-muted {
  margin: 0;
  color: var(--ws-muted);
  font-size: 12px;
  line-height: 1.7;
}

.onepc-ws-badge.is-blue,
.onepc-as-badge.is-blue {
  background: var(--ws-primary-soft);
  color: var(--ws-primary);
}

/* 行内动作组（订阅申请 / 订单 / 需求的行级按钮） */
.onepc-ws-list-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}

/* 需求列表 */
.onepc-ws-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.onepc-ws-list > li {
  padding: 13px 0;
  border-top: 1px solid var(--ws-border);
}

.onepc-ws-list strong {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--ws-text);
}

.onepc-ws-list small {
  display: block;
  margin-top: 4px;
  color: var(--ws-muted);
  font-size: 11.5px;
}

.onepc-ws-list p {
  margin: 6px 0 0;
  color: var(--ws-muted);
  font-size: 12px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

/* 折叠区（付款申报 / 调价记录） */
.onepc-ws-details {
  margin-top: 10px;
  font-size: 12px;
  color: var(--ws-muted);
}

.onepc-ws-details summary {
  cursor: pointer;
  color: var(--ws-primary);
}

.onepc-ws-details ul {
  margin: 8px 0 0;
  padding-left: 18px;
  line-height: 1.8;
}

/* 两栏（我的需求 / 提交需求） */
.onepc-ws-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}

/* 表单 */
.onepc-ws-form {
  display: grid;
  gap: 14px;
  margin-top: 16px;
}

.onepc-ws-form-foot {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

@media (max-width: 850px) {
  .onepc-ws-split {
    grid-template-columns: 1fr;
  }
}

/* ------------------------------------------------------------ 占位视图 */
.onepc-placeholder {
  max-width: 760px;
  padding: 64px 32px;
}

.onepc-placeholder-badge {
  display: inline-block;
  font-size: 11px;
  color: var(--op-primary);
  background: var(--op-primary-soft);
  border-radius: 6px;
  padding: 3px 9px;
  margin-bottom: 14px;
}

.onepc-placeholder-title {
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 10px;
}

.onepc-placeholder-desc {
  font-size: 13px;
  color: var(--op-text-3);
  margin: 0 0 22px;
}

/* ---------------------------------------------------------- 模块内容弹窗 */
/* 个人中心条目、工作空间卡片的落点；fixed 铺满视口，不受侧栏 overflow 影响 */
.onepc-modal-mask {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(17, 24, 39, 0.32);
  animation: onepc-mask-in 0.15s ease-out;
}

@keyframes onepc-mask-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.onepc-modal {
  width: 100%;
  max-width: 520px;
  max-height: calc(100vh - 96px);
  overflow-y: auto;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.18);
  animation: onepc-modal-in 0.18s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes onepc-modal-in {
  from {
    opacity: 0;
    transform: translateY(10px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.onepc-modal-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 20px 16px;
  border-bottom: 1px solid var(--op-border-soft);
}

.onepc-modal-icon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: var(--op-primary-soft);
  color: var(--op-primary);
  font-size: 17px;
}

.onepc-modal-heading {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.onepc-modal-title {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--op-text-1);
}

.onepc-modal-sub {
  margin: 2px 0 0;
  font-size: 12px;
  color: var(--op-text-3);
}

.onepc-modal-close {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--op-text-3);
  font-size: 13px;
  cursor: pointer;
  transition: all 0.15s;
}

.onepc-modal-close:hover {
  background: var(--op-bg-hover);
  color: var(--op-text-1);
}

.onepc-modal-body {
  padding: 18px 20px 4px;
}

.onepc-modal-section {
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 600;
  color: var(--op-text-2);
}

.onepc-modal-list {
  margin: 0;
  padding-left: 18px;
}

.onepc-modal-list li {
  font-size: 12.5px;
  color: var(--op-text-2);
  line-height: 2;
}

.onepc-modal-note {
  margin: 14px 0 0;
  padding: 10px 12px;
  border-radius: 9px;
  background: var(--op-bg-side);
  font-size: 11.5px;
  color: var(--op-text-4);
  line-height: 1.7;
}

.onepc-modal-foot {
  display: flex;
  justify-content: flex-end;
  padding: 16px 20px 18px;
}

/* ------------------------------------------------- 模块弹窗 · 承载整页内容 */
/*
 * 个人中心里「组织与人事 / 内控中心」点开后，正文直接是页面内容
 * （见 ModuleDialog.jsx 的 MODULE_VIEWS），所以这里把弹窗放大、并让滚动条
 * 从弹窗外壳下移到正文区，页面自己的 32px 内边距才不会与弹窗内边距叠加。
 */
.onepc-modal.is-view {
  max-width: 1320px;
  max-height: calc(100vh - 64px);
  display: flex;
  min-height: 1000px !important;
  flex-direction: column;
  overflow: hidden;
}

.onepc-modal.is-view .onepc-modal-head {
  flex: 0 0 auto;
}

.onepc-modal.is-view .onepc-modal-body.is-view {
  flex: 1 1 auto;
  min-height: 0;
  padding: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}

/* 弹窗已限定宽度，页面容器不再二次限宽，只保留 demo 的 32px 内边距 */
.onepc-modal.is-view .onepc-mg {
  max-width: none;
}

/* -------------------------------------------------------------- 账户中心 */
.onepc-account {
  max-width: 760px;
  padding: 28px 32px 44px;
}

.onepc-account-back {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 18px;
  padding: 4px 9px;
  border: 1px solid var(--op-border);
  border-radius: 8px;
  background: #fff;
  font: inherit;
  font-size: 12px;
  color: var(--op-text-2);
  cursor: pointer;
  transition: all 0.15s;
}

.onepc-account-back:hover {
  border-color: var(--op-primary);
  color: var(--op-primary);
}

.onepc-account-head {
  display: flex;
  align-items: center;
  gap: 12px;
}

.onepc-account-icon {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 11px;
  background: var(--op-primary-soft);
  color: var(--op-primary);
  font-size: 18px;
}

.onepc-account-title {
  margin: 0;
  font-size: 19px;
  font-weight: 700;
  color: var(--op-text-1);
}

.onepc-account-desc {
  margin: 2px 0 0;
  font-size: 12.5px;
  color: var(--op-text-3);
}

.onepc-account-card {
  margin-top: 20px;
  padding: 16px 18px;
  border: 1px solid var(--op-border);
  border-radius: 12px;
  background: #fff;
}

.onepc-account-card-title {
  margin-bottom: 8px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--op-text-2);
}

.onepc-account-list {
  margin: 0;
  padding-left: 18px;
}

.onepc-account-list li {
  font-size: 12.5px;
  color: var(--op-text-2);
  line-height: 1.9;
}

.onepc-account-note {
  margin-top: 14px;
  font-size: 11.5px;
  color: var(--op-text-4);
  line-height: 1.7;
}

.onepc-account-note code {
  padding: 1px 5px;
  border-radius: 4px;
  background: var(--op-bg-side);
  font-size: 11px;
}

/* ------------------------------------- Chat · 专家库 / 模型设置视图
   一比一复刻 demo 的 ExpertsPage / ModelsPage。取值来源：
     · features/enterprise/assistant.css   —— 卡片网格、卡片、分组、空态面板
     · features/enterprise/enterprise.css  —— .enterprise-tabs / -search / -tab-toolbar
     · styles/components.css               —— 通用件（页头、按钮、徽标、字段、弹窗）
   通用按钮与徽标复用 .onepc-ws-btn / .onepc-ws-badge（选择器已并列声明，
   规则只有一份）；本段只写这两个页面特有的版式。
   ------------------------------------------------------------------------- */
.onepc-as {
  /* demo 的 .assistant-catalog-page 不设宽度上限，宽度由 .enterprise-content 决定
     （max-width 1660 + padding 32）——这里照做，所以宽度与工作空间页不同 */
  max-width: 1660px;
  padding: 32px;
  box-sizing: border-box;
}

/* ------------------------------------------------------------------ 页头 */
.onepc-as-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin-bottom: 30px;
}

.onepc-as-header h1 {
  margin: 0;
  font-size: 27px;
  font-weight: 650;
  letter-spacing: -0.6px;
  line-height: 1.6;
}

.onepc-as-header p {
  margin: 6px 0 0;
  color: var(--ws-muted);
  font-size: 14px;
  line-height: 1.6;
}

/* 注：v1 demo 的 PageHeader 传过 eyebrow（"EXPERTS" / "AI MODELS"），v2 已删除该 prop，
   Chat 域不再有眉头 → 原 .onepc-as-eyebrow 规则已随之删除。
   工作域/组件库的眉头用的是 .onepc-ws-eyebrow，仍在用，别一起删。 */
.onepc-as-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* 危险按钮（demo .button-danger） */
.onepc-as-btn.is-danger {
  background: #fff0f0;
  color: #c84343;
}

/* -------------------------------------------------------------- 页签 + 搜索 */
.onepc-as-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin: 18px 0;
}

/* ------------------------------------------------------------ 卡片网格 */
.onepc-as-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(290px, 100%), 1fr));
  gap: 18px;
  align-items: stretch;
}

.onepc-as-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 23px;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-lg);
  background: var(--ws-surface);
  box-shadow: 0 2px 8px #1d355708;
}

.onepc-as-card h2,
.onepc-as-card h3 {
  margin: 0;
  font-size: 19px;
  line-height: 1.5;
}

.onepc-as-card h2 {
  font-weight: 620;
}

.onepc-as-card h3 {
  font-weight: 600;
}

.onepc-as-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}

.onepc-as-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 43px;
  height: 43px;
  flex-shrink: 0;
  border-radius: var(--ws-radius-md);
  background: var(--ws-primary-soft);
  color: var(--ws-primary);
  font-size: 22px;
}

.onepc-as-card-desc {
  flex: 1;
  margin: 10px 0 18px;
  color: var(--ws-muted);
  font-size: 13px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}

.onepc-as-card-meta {
  margin-bottom: 20px;
  color: var(--ws-muted);
  font-size: 11px;
}

.onepc-as-card-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
}

.onepc-as-card-footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--ws-border);
  color: var(--ws-muted);
  font-size: 11px;
}

.onepc-as-card-footer > span {
  display: flex;
  align-items: center;
  gap: 5px;
}

.onepc-as-note {
  margin: 24px 0 16px;
  color: var(--ws-muted);
  font-size: 12px;
  line-height: 1.9;
}

.onepc-as-muted {
  margin: 10px 0 18px;
  color: var(--ws-muted);
  font-size: 14px;
}

/* -------------------------------------------------------------- 模型分组 */
.onepc-as-group {
  margin-top: 28px;
}

.onepc-as-group-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 18px;
  margin-bottom: 16px;
}

.onepc-as-group-head h2 {
  margin: 0;
  font-size: 18px;
  font-weight: 620;
}

.onepc-as-group-head p {
  max-width: 600px;
  margin: 0;
  color: var(--ws-muted);
  font-size: 12px;
  line-height: 1.6;
}

.onepc-as-model-id {
  margin: 10px 0 0;
  color: var(--ws-text);
  font-family: var(--ws-mono);
  font-size: 12px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

.onepc-as-model-endpoint {
  margin: 6px 0 18px;
  color: var(--ws-muted);
  font-size: 11px;
  overflow-wrap: anywhere;
}

.onepc-as-model-unavailable {
  margin: 14px 0;
  color: var(--ws-warning);
  font-size: 12px;
}

/* ------------------------------------------------------------------ 空态 */
.onepc-as-empty-panel {
  border: 1px dashed var(--ws-border);
  border-radius: var(--ws-radius-lg);
  background: var(--ws-surface);
}

.onepc-as-empty-icon {
  font-size: 30px;
}

.onepc-as-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid var(--ws-border);
}

.onepc-as-modal-head h2 {
  margin: 0;
  font-size: 19px;
  font-weight: 620;
}

.onepc-as-modal-body {
  padding: 24px;
  overflow: auto;
  max-height: calc(90dvh - 150px);
}

/* 弹窗里的表单 */
.onepc-as-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 16px;
}

.onepc-as-prompt-editor {
  min-height: 230px;
}

.onepc-as-form-foot {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 24px;
}

/* 前置词弹窗 */
.onepc-as-prompt-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 24px;
}

.onepc-as-prompt-section {
  margin-top: 20px;
}

.onepc-as-prompt-section h3 {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
}

.onepc-as-prompt-section pre,
.onepc-as-prompt-preview pre {
  margin: 12px 0 0;
  padding: 17px;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-sm);
  background: var(--ws-bg);
  color: var(--ws-text);
  font-family: var(--ws-font-family);
  font-size: 13px;
  line-height: 1.9;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.onepc-as-prompt-preview {
  margin: 0 0 20px;
  font-size: 13px;
}

.onepc-as-prompt-preview summary {
  color: var(--ws-primary);
  cursor: pointer;
}

.onepc-as-info {
  padding: 12px 16px;
  border-radius: 9px;
  background: var(--ws-primary-soft);
  color: #476a9f;
  font-size: 13px;
  line-height: 1.75;
}

@media (max-width: 760px) {
  .onepc-as {
    padding: 20px 16px;
  }

  .onepc-as-card {
    padding: 19px;
  }

  .onepc-as-group-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .onepc-as-prompt-editor {
    min-height: 185px;
  }
}

@media (max-width: 620px) {
  .onepc-as-header {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .onepc-as-form-grid {
    grid-template-columns: 1fr;
  }
}

/* ================================================================== Work · 空间管理三模块
   一比一复刻 demo（ai-workbench）「空间管理」下的三张页面：
     我的任务   → features/enterprise/ChatPage.tsx#TasksPage
     组织与人事 → features/enterprise/OrganizationPage.tsx（含 6 个页签）
     内控中心   → features/enterprise/ControlsPage.tsx（含 3 个页签）
   取值来源：
     · features/enterprise/enterprise.css —— 页签、工具条、搜索框、表格、卡片网格、
       空态、info-banner、字段组（fieldset / check-row / grant-row / details / timeline）
     · features/enterprise/workspace.css  —— 部门浏览两栏布局与部门树全套
     · styles/components.css              —— 通用件（页头、按钮、徽标、面板、弹窗）
   通用按钮与徽标复用 .onepc-ws-btn / .onepc-ws-badge（选择器并列声明，规则只有一份），
   本段只补这两个页面特有的版式。
   ------------------------------------------------------------------------- */
.onepc-mg {
  /* demo 的 .enterprise-content：max-width 1660 + padding 32，宽度与专家库/模型设置一致 */
  max-width: 1660px;
  padding: 32px;
  box-sizing: border-box;
}

/* -------------------------------------------------------------- 工具条 */
.onepc-mg-tab-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin: 18px 0;
}

.onepc-mg-tab-toolbar > p {
  margin: 0;
}

.onepc-mg-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

/* -------------------------------------------------------------- 搜索框 */
.onepc-mg-search {
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 100%;
  padding: 9px 12px;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-sm);
  background: var(--ws-surface);
  color: var(--ws-muted);
}

.onepc-mg-search:focus-within {
  border-color: var(--ws-primary);
}

.onepc-mg-search input {
  width: 230px;
  max-width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ws-text);
  font: inherit;
  font-size: 13px;
}

/* ------------------------------------------------------------------ 面板 */
.onepc-mg-panel {
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-lg);
  background: var(--ws-surface);
}

.onepc-mg-section {
  margin-bottom: 20px;
}

.onepc-mg-section h2 {
  margin: 15px 0 7px;
  font-size: 19px;
  font-weight: 620;
  overflow-wrap: anywhere;
}

.onepc-mg-feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
  gap: 18px;
  align-items: start;
}

.onepc-mg-feature-grid > .onepc-mg-panel {
  margin-bottom: 0;
}

.onepc-mg-feature-icon,
.onepc-mg-role-icon {
  display: block;
  color: var(--ws-primary);
}

.onepc-mg-feature-icon {
  margin-bottom: 20px;
}

/* 可读性列表（角色权限、后续阶段） */
.onepc-mg-readable-list {
  padding-left: 19px;
  margin: 0;
  color: var(--ws-muted);
  font-size: 13px;
  line-height: 1.9;
}

.onepc-mg-readable-list small {
  display: block;
  color: var(--ws-muted);
  font-size: 11px;
}

/* ------------------------------------------------------------------ 表格 */
.onepc-mg-table-wrap {
  padding: 0;
  max-width: 100%;
  overflow-x: auto;
}

.onepc-mg-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: 13px;
}

.onepc-mg-table th {
  padding: 14px 20px;
  background: var(--ws-bg);
  color: var(--ws-muted);
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
}

.onepc-mg-table td {
  padding: 18px 20px;
  border-top: 1px solid var(--ws-border);
  min-width: 100px;
  vertical-align: middle;
}

.onepc-mg-table td:first-child {
  min-width: 180px;
}

.onepc-mg-table td strong {
  display: block;
  font-size: 14px;
  font-weight: 550;
}

.onepc-mg-table small {
  display: block;
  margin-top: 4px;
  color: var(--ws-muted);
  font-size: 11px;
  overflow-wrap: anywhere;
}

.onepc-mg-table tr:hover td {
  background: var(--ws-bg);
}

.onepc-mg-table .onepc-mg-actions {
  min-width: 130px;
}

.onepc-mg-table .onepc-ws-btn {
  font-size: 12px;
}

.onepc-mg-table code {
  font-family: var(--ws-mono);
  font-size: 12px;
  color: var(--ws-text);
}

/* ------------------------------------------------------------------ 文本 */
.onepc-mg-muted {
  margin: 10px 0 18px;
  color: var(--ws-muted);
  font-size: 14px;
}

.onepc-mg-tab-toolbar > .onepc-mg-muted {
  margin: 0;
}

.onepc-mg-fine {
  margin: 14px 0;
  color: var(--ws-muted);
  font-size: 12px;
  line-height: 1.8;
}

.onepc-mg-info-banner {
  margin: 0 0 24px;
  padding: 12px 16px;
  border-radius: 9px;
  background: var(--ws-primary-soft);
  color: #476a9f;
  font-size: 13px;
  line-height: 1.75;
}

.onepc-mg-form-error {
  margin: 0 0 16px;
  padding: 12px 15px;
  border: 1px solid #f2d4d4;
  border-radius: 8px;
  background: var(--ws-danger-soft);
  color: #ad3e3e;
  font-size: 14px;
}

.onepc-mg-empty-icon {
  font-size: 26px;
  color: var(--ws-border);
}

/* 申请 / 任务列表容器（空态时的内边距由空态自己撑） */
.onepc-mg-request-list {
  display: grid;
  gap: 16px;
}

/* ------------------------------------------------- 明细列表 / 时间线 */
.onepc-mg-details {
  display: grid;
  grid-template-columns: 105px minmax(0, 1fr);
  gap: 11px 16px;
  margin: 20px 0;
  font-size: 13px;
}

.onepc-mg-details dt {
  color: var(--ws-muted);
}

.onepc-mg-details dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.onepc-mg-subhead {
  margin: 0 0 4px;
  font-size: 14px;
  font-weight: 600;
}

.onepc-mg-timeline {
  margin-top: 16px;
  padding-left: 18px;
  border-left: 1px solid var(--ws-border);
}

.onepc-mg-timeline > div {
  padding-bottom: 17px;
}

.onepc-mg-timeline small {
  color: var(--ws-muted);
  font-size: 11px;
}

.onepc-mg-timeline p {
  margin-top: 4px;
  color: var(--ws-text);
  font-size: 13px;
}

/* ------------------------------------------------------------ 弹窗表单 */
.onepc-mg-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 16px;
}

.onepc-mg-fieldset {
  min-width: 0;
  margin: 20px 0;
  padding: 14px 16px;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-sm);
}

.onepc-mg-fieldset legend {
  padding: 0 6px;
  color: var(--ws-text);
  font-size: 13px;
}

.onepc-mg-fieldset small {
  display: block;
  color: var(--ws-muted);
  font-size: 11px;
}

.onepc-mg-fieldset:disabled {
  opacity: 0.55;
}

.onepc-mg-check-row {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 8px 0;
  font-size: 14px;
}

.onepc-mg-check-row input {
  width: 16px;
  height: 16px;
  accent-color: var(--ws-primary);
}

.onepc-mg-fieldset .onepc-mg-check-row {
  align-items: start;
  margin: 7px 0;
}

.onepc-mg-fieldset .onepc-mg-check-row input {
  margin-top: 5px;
}

.onepc-mg-grant-row {
  padding: 10px 0;
  border-bottom: 1px solid var(--ws-border);
}

.onepc-mg-grant-row:last-child {
  border-bottom: 0;
}

.onepc-mg-grant-scope {
  margin: 8px 0 0 25px;
}

.onepc-mg-form-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 24px;
}

/* ---------------------------------------------------------------- 个人 / 企业管理组的补充版式
   （2026-10-14：19 个占位页落地时新增的三条，其余一律复用上面既有的 .onepc-mg-*） */

/* 申请卡头部：标题在左、状态徽标在右（内控 / 我的审批 / 审批管理共用） */
.onepc-mg-request-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.onepc-mg-request-head h2 {
  margin-top: 0;
}

/* 管理概览的入口卡（demo `.enterprise-management-grid > button`） */
.onepc-mg-tile-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr));
  gap: 18px;
  align-items: stretch;
}

.onepc-mg-tile {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  width: 100%;
  padding: 22px 24px;
  text-align: left;
  color: inherit;
  font: inherit;
  background: var(--ws-surface);
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-lg);
  cursor: pointer;
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.onepc-mg-tile:hover {
  border-color: var(--ws-primary);
  /* 库件卡片的悬停抬升阴影（库内 styles/modern.css 同值） */
  box-shadow: 0 8px 22px rgb(0 0 0 / 12%);
}

.onepc-mg-tile-mark {
  flex: none;
  color: var(--ws-primary);
}

.onepc-mg-tile strong {
  display: block;
  font-size: 15px;
  font-weight: 620;
}

.onepc-mg-tile small {
  display: block;
  margin-top: 6px;
  color: var(--ws-muted);
  font-size: 13px;
  line-height: 1.7;
}

.onepc-mg-tile-arrow {
  flex: none;
  margin-left: auto;
  color: var(--ws-muted);
}

/* 「每周工作时间」表：列宽固定，星期列不换行 */
.onepc-mg-weekly td:first-child,
.onepc-mg-weekly th:first-child {
  white-space: nowrap;
}

/* --------------------------------------------------- 办公布局几何编辑器
   （2026-10-14：`office/layout` 补几何编辑器时新增；颜色全部走 --ws-* 令牌，
     这样换主题时格子底色与文字跟着跑，不写死十六进制） */
.onepc-mg-geo-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin: 20px 0 16px;
}

.onepc-mg-geo-canvas {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 6px;
  max-width: 560px;
  margin: 0 0 8px;
}

.onepc-mg-geo-cell {
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-sm);
  background: var(--ws-surface);
  color: var(--ws-muted);
  font: inherit;
  font-size: 11px;
  line-height: 1;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.onepc-mg-geo-cell:hover {
  border-color: var(--ws-primary);
}

.onepc-mg-geo-cell.is-seat {
  background: var(--ws-primary-soft);
  color: var(--ws-primary);
}

.onepc-mg-geo-cell.is-work {
  background: var(--ws-success-soft);
  color: var(--ws-success);
}

.onepc-mg-geo-cell.is-zone {
  background: var(--ws-warning-soft);
  color: var(--ws-warning);
}

.onepc-mg-geo-cell.is-device {
  background: var(--ws-secondary-soft);
  color: var(--ws-secondary);
}

.onepc-mg-geo-cell.is-rack {
  background: var(--ws-bg);
  color: var(--ws-text);
}

.onepc-mg-geo-cell.is-aisle {
  background: transparent;
  border-style: dashed;
}

.onepc-mg-geo-cell.is-empty {
  background: var(--ws-surface);
}

.onepc-mg-geo-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  color: var(--ws-muted);
  font-size: 12px;
}

.onepc-mg-geo-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.onepc-mg-geo-swatch {
  display: inline-block;
  width: 12px;
  height: 12px;
  border: 1px solid var(--ws-border);
  border-radius: 3px;
  background: var(--ws-surface);
}

.onepc-mg-geo-swatch.is-seat {
  background: var(--ws-primary-soft);
}

.onepc-mg-geo-swatch.is-work {
  background: var(--ws-success-soft);
}

.onepc-mg-geo-swatch.is-zone {
  background: var(--ws-warning-soft);
}

.onepc-mg-geo-swatch.is-device {
  background: var(--ws-secondary-soft);
}

.onepc-mg-geo-swatch.is-rack {
  background: var(--ws-bg);
}

.onepc-mg-geo-swatch.is-aisle {
  background: transparent;
  border-style: dashed;
}

/* 任务卡内层（demo `.enterprise-task-card`）：卡片套在 `.onepc-mg-panel` 里，
   「我的任务 / 本人 CRM 草稿 / CRM 录入审核」三处共用同一份版式 */
.onepc-mg-task-card {
  padding: 18px 20px;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-md);
  background: var(--ws-surface);
}

.onepc-mg-task-card + .onepc-mg-task-card {
  margin-top: 14px;
}

.onepc-mg-task-card h3 {
  margin: 0;
  font-size: 15px;
  font-weight: 620;
}

/* 键值对（demo `.enterprise-details`）：label 列定宽，值列自适应 */
.onepc-mg-detail-list {
  display: grid;
  grid-template-columns: minmax(72px, max-content) minmax(0, 1fr);
  gap: 8px 16px;
  margin: 14px 0 0;
  font-size: 13px;
}

.onepc-mg-detail-list dt {
  color: var(--ws-muted);
}

.onepc-mg-detail-list dd {
  margin: 0;
  color: var(--ws-text);
  overflow-wrap: anywhere;
}

/* ------------------------------------------------------------ 任务卡
   demo `ChatPage.tsx#TaskCard`（`.enterprise-task-card`）的 1:1 版式。
   `.onepc-task-card` 只用于「我的任务」列表与 Chat 消息里的任务卡 ——
   本人 CRM 草稿 / CRM 录入审核用的是 `.onepc-mg-task-card`，两者不要混。 */
.onepc-task-card {
  padding: 16px 18px;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-md);
  background: var(--ws-surface);
}

.onepc-task-card-head {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.onepc-task-card-icon {
  display: inline-flex;
  align-items: center;
  color: var(--ws-muted);
  flex: 0 0 auto;
}

.onepc-task-card-head strong {
  min-width: 0;
  font-size: 15px;
  font-weight: 620;
  color: var(--ws-text);
  overflow-wrap: anywhere;
}

.onepc-task-card-head > :last-child {
  margin-left: auto;
  flex: 0 0 auto;
}

/* 键值对（demo `.enterprise-details`）：label 定宽、值自适应 */
.onepc-task-card-details {
  display: grid;
  grid-template-columns: minmax(64px, max-content) minmax(0, 1fr);
  gap: 8px 16px;
  margin: 14px 0 0;
  font-size: 13px;
}

.onepc-task-card-details dt {
  color: var(--ws-muted);
  font-size: 13px;
}

.onepc-task-card-details dd {
  margin: 0;
  color: var(--ws-text);
  overflow-wrap: anywhere;
}

.onepc-task-card-result,
.onepc-task-card-boundary {
  margin: 12px 0 0;
  font-size: 12px;
  line-height: 1.6;
  color: var(--ws-muted);
}

.onepc-task-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

/* 核对弹窗（demo `.info-banner` + `.enterprise-form-actions`） */
.onepc-task-form-warning {
  margin: 0 0 16px;
  padding: 10px 12px;
  border: 1px solid var(--ws-warning);
  border-radius: var(--ws-radius-sm);
  background: var(--ws-warning-soft);
  font-size: 13px;
  line-height: 1.6;
  color: var(--ws-text);
}

.onepc-task-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.onepc-task-form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 4px;
}


/* ------------------------------------------------------------ 部门浏览 */
.onepc-mg-department-browser {
  display: grid;
  grid-template-columns: minmax(280px, 0.95fr) minmax(0, 1.2fr);
  gap: 22px;
  align-items: start;
}

.onepc-mg-tree-panel {
  min-width: 0;
  padding: 0;
  overflow: hidden;
}

.onepc-mg-tree-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px;
  border-bottom: 1px solid var(--ws-border);
}

.onepc-mg-tree-toolbar-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ws-primary);
}

.onepc-mg-tree-toolbar > div {
  display: flex;
  gap: 11px;
}

.onepc-mg-tree-toolbar button {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ws-muted);
  font: inherit;
  font-size: 11px;
  cursor: pointer;
}

.onepc-mg-tree-toolbar button:hover {
  color: var(--ws-primary);
}

.onepc-mg-tree-scroll {
  max-height: 600px;
  padding: 14px 10px;
  overflow: auto;
}

.onepc-mg-tree-list {
  padding: 0;
  margin: 0;
  list-style: none;
}

.onepc-mg-tree-list .onepc-mg-tree-list {
  margin-left: 19px;
  padding-left: 14px;
  border-left: 1px solid var(--ws-border);
}

.onepc-mg-tree-node {
  position: relative;
}

.onepc-mg-tree-list .onepc-mg-tree-list > .onepc-mg-tree-node::before {
  content: '';
  position: absolute;
  left: -15px;
  top: 29px;
  width: 15px;
  border-top: 1px solid var(--ws-border);
}

.onepc-mg-node-row {
  display: flex;
  align-items: center;
  min-width: 215px;
  margin-block: 3px;
  border-radius: var(--ws-radius-sm);
}

.onepc-mg-node-row:hover {
  background: var(--ws-bg);
}

.onepc-mg-node-row.is-selected {
  background: var(--ws-primary-soft);
}

.onepc-mg-toggle,
.onepc-mg-leaf-spacer {
  display: grid;
  place-items: center;
  width: 26px;
  height: 34px;
  flex-shrink: 0;
}

.onepc-mg-toggle {
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--ws-muted);
  cursor: pointer;
}

.onepc-mg-select {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
  padding: 10px 10px 10px 0;
  border: 0;
  background: transparent;
  color: var(--ws-primary);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.onepc-mg-select > span:first-of-type {
  flex: 1;
  min-width: 0;
}

.onepc-mg-select strong {
  display: block;
  color: var(--ws-text);
  font-size: 13px;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.onepc-mg-select small {
  display: block;
  margin-top: 4px;
  color: var(--ws-muted);
  font-size: 10px;
  line-height: 1.4;
}

.onepc-mg-select em {
  display: block;
  margin-top: 4px;
  color: var(--ws-warning);
  font-size: 10px;
  font-style: normal;
}

.onepc-mg-node-count {
  margin-left: 4px;
  color: var(--ws-muted);
  font-size: 10px;
  white-space: nowrap;
}

.onepc-mg-tree-footnote {
  margin: 0;
  padding: 12px 16px;
  border-top: 1px solid var(--ws-border);
  color: var(--ws-muted);
  font-size: 11px;
  line-height: 1.6;
}

/* ---- 2026-10-15 组织树换库 Tree（onepc-antd）适配 ----
   节点/行/计数等 .onepc-mg-* 锚点类照旧由 treeData 透传，这里只处理
   antd 自己画的底色与图标槽位，避免和 .onepc-mg-node-row 的样式打架。
   ⚠️ antd 编译出来的引导线选择器是 (0,3,0) 且运行时注入排在后面，
   同特异性会被它压掉 —— 所以这里必须借 .onepc-mg 提到 (0,4,0)。 */
.onepc-provider .onepc-mg .onepc-mg-tree-list .onepc-ant-tree-node-content-wrapper,
.onepc-provider .onepc-mg .onepc-mg-tree-list .onepc-ant-tree-node-content-wrapper:hover,
.onepc-provider .onepc-mg .onepc-mg-tree-list .onepc-ant-tree-node-content-wrapper.onepc-ant-tree-node-selected {
  background: transparent;
}
/* 展开箭头：尺寸交给 antd 的 switcher 槽位（原 26×34 是自建树按钮的规格） */
.onepc-provider .onepc-mg .onepc-mg-tree-list .onepc-ant-tree-switcher .onepc-mg-toggle {
  display: inline-grid;
  place-items: center;
  width: auto;
  height: auto;
  color: var(--ws-muted);
}
/* 引导线颜色对齐 demo 的连接线（antd 用 borderInlineEnd / borderBottom 画线） */
.onepc-provider .onepc-mg .onepc-mg-tree-list .onepc-ant-tree-switcher-leaf-line::before,
.onepc-provider .onepc-mg .onepc-mg-tree-list .onepc-ant-tree-switcher-leaf-line::after {
  border-color: var(--ws-border);
}

.onepc-mg-department-detail {
  min-width: 0;
}

.onepc-mg-detail-heading {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 25px;
}

.onepc-mg-detail-icon {
  display: inline-grid;
  place-items: center;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  border-radius: var(--ws-radius-md);
  background: var(--ws-primary-soft);
  color: var(--ws-primary);
}

.onepc-mg-detail-heading > div {
  flex: 1;
  min-width: 0;
}

.onepc-mg-detail-heading p {
  margin: 0 0 4px;
  color: var(--ws-muted);
  font-size: 11px;
}

.onepc-mg-detail-heading h2 {
  margin: 0;
  font-size: 19px;
  font-weight: 620;
  overflow-wrap: anywhere;
}

.onepc-mg-summary {
  display: grid;
  gap: 15px;
  margin: 0 0 28px;
}

.onepc-mg-summary > div {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 15px;
  font-size: 13px;
}

.onepc-mg-summary dt {
  color: var(--ws-muted);
}

.onepc-mg-summary dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.onepc-mg-members-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 20px;
  border-top: 1px solid var(--ws-border);
}

.onepc-mg-members-heading h3 {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
}

.onepc-mg-visible-members {
  padding: 0;
  margin: 15px 0;
  list-style: none;
}

.onepc-mg-visible-members li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 0;
}

.onepc-mg-visible-members li > div {
  flex: 1;
}

.onepc-mg-visible-members strong {
  display: block;
  font-size: 13px;
  font-weight: 600;
}
.onepc-ant-tabs-nav-wrap{
  /* padding: 0 20px; */
  box-sizing: border-box;
}
.onepc-mg-visible-members small {
  display: block;
  margin-top: 3px;
  color: var(--ws-muted);
  font-size: 11px;
}

.onepc-mg-member-avatar {
  display: grid;
  place-items: center;
  width: 33px;
  height: 33px;
  border-radius: 50%;
  background: var(--ws-bg);
  color: var(--ws-primary);
  font-size: 12px;
}

.onepc-mg-members-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 34px 20px;
  color: var(--ws-muted);
  text-align: center;
}

.onepc-mg-members-empty > span {
  font-size: 24px;
}

.onepc-mg-members-empty p {
  margin: 0;
  font-size: 13px;
}

.onepc-mg-members-empty small {
  font-size: 11px;
}

.onepc-mg-detail-note {
  margin: 18px 0 0;
  color: var(--ws-muted);
  font-size: 12px;
  line-height: 1.8;
}

/* -------------------------------------------------- 补：危险态按钮 / 徽标 */
.onepc-ws-btn.is-danger,
.onepc-as-btn.is-danger {
  background: var(--ws-danger-soft);
  color: var(--ws-danger);
}

.onepc-ws-btn.is-danger:hover:not(:disabled),
.onepc-as-btn.is-danger:hover:not(:disabled) {
  background: #ffe3e3;
}

.onepc-ws-badge.is-red,
.onepc-as-badge.is-red {
  background: var(--ws-danger-soft);
  color: var(--ws-danger);
}

@media (max-width: 1080px) {
  .onepc-mg-department-browser {
    grid-template-columns: 1fr;
  }

  .onepc-mg-tree-scroll {
    max-height: 420px;
  }
}

@media (max-width: 900px) {
  .onepc-mg {
    padding: 20px 16px;
  }

  .onepc-mg-form-grid {
    grid-template-columns: 1fr;
  }

  .onepc-mg-tab-toolbar {
    flex-direction: column;
    align-items: flex-start;
  }

  .onepc-mg-search input {
    width: 100%;
  }
}

/* ==========================================================================
   组件库展示页 /onepc/ui
   正文由 src/pages/OnePC/ui/ 下的手写组件拼成（样式在 ui/uiKit.css），
   这里只负责这一页自己的版式：容器宽度、分区、色卡。
   颜色一律走 --ws-*，跟随主题切换。
   ========================================================================== */

.onepc-ui {
  /* 与 .onepc-ws / .onepc-mg 同一套内容宽度与内边距 */
  max-width: 1660px;
  padding: 32px;
  box-sizing: border-box;
}

.onepc-ui-section {
  margin-top: 34px;
}

.onepc-ui-section-title {
  margin: 0;
  font-size: 16px;
  font-weight: 650;
  letter-spacing: -0.2px;
  color: var(--ws-text);
}

.onepc-ui-section-desc {
  margin: 5px 0 0;
  font-size: 12.5px;
  line-height: 1.7;
  color: var(--ws-muted);
}

.onepc-ui-section-body {
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* 分区锚点导航 */
.onepc-ui-anchors {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.onepc-ui-anchor {
  padding: 5px 11px;
  border: 1px solid var(--ws-border);
  border-radius: 999px;
  background: var(--ws-surface);
  color: var(--ws-muted);
  font: inherit;
  font-size: 12px;
  cursor: pointer;
  transition:
    border-color 0.15s,
    color 0.15s;
}
.onepc-ui-anchor:hover {
  border-color: var(--ws-primary);
  color: var(--ws-primary);
}

/* 主题配置区 */
.onepc-ui-color-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* 取色器 + 十六进制值并排；输入框不跟着栅格拉满，否则一行只剩两个字却占了半屏 */
.onepc-ui-color-row .onepc-k-input {
  flex: 0 1 140px;
  font-family: var(--ws-mono);
  font-size: 12.5px;
}

.onepc-ui-color {
  width: 46px;
  height: 34px;
  flex: 0 0 46px;
  padding: 0;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-sm);
  background: var(--ws-surface);
  cursor: pointer;
}

.onepc-ui-color::-webkit-color-swatch-wrapper {
  padding: 3px;
}
.onepc-ui-color::-webkit-color-swatch {
  border: 0;
  border-radius: 4px;
}

.onepc-ui-presets {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.onepc-ui-preset {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-sm);
  background: var(--ws-surface);
  color: var(--ws-text);
  font: inherit;
  font-size: 12.5px;
  cursor: pointer;
  transition:
    border-color 0.15s,
    box-shadow 0.15s;
}
.onepc-ui-preset:hover {
  border-color: var(--ws-primary);
}
.onepc-ui-preset.is-active {
  border-color: var(--ws-primary);
  box-shadow: 0 0 0 3px var(--ws-primary-soft);
}

.onepc-ui-preset-dots {
  display: inline-flex;
}
.onepc-ui-preset-dots span {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  border: 2px solid var(--ws-surface);
  margin-left: -5px;
}
.onepc-ui-preset-dots span:first-child {
  margin-left: 0;
}

/* 令牌清单 */
.onepc-ui-tokens {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}

.onepc-ui-token {
  display: flex;
  align-items: center;
  gap: 9px;
  font-family: var(--ws-mono);
  font-size: 11.5px;
  color: var(--ws-muted);
}

.onepc-ui-token-swatch {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  border: 1px solid var(--ws-border);
  border-radius: 5px;
}

/* 组件演示小格 */
.onepc-ui-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.onepc-ui-note {
  font-size: 12px;
  color: var(--ws-muted);
}

@media (max-width: 900px) {
  .onepc-ui {
    padding: 20px 16px;
  }
}

/* ------------------------------------------------------------------ 变体全览页 /onepc/ui/gallery */

/* 顶部主题切换条：粘住，方便边切主题边看下面所有变体 */
.onepc-ui-theme-bar {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 26px;
  padding: 12px 16px;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-md);
  background: var(--ws-surface);
  box-shadow: 0 6px 18px rgb(23 32 48 / 6%);
}

.onepc-ui-theme-bar-label {
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.4px;
  color: var(--ws-muted);
}

.onepc-ui-theme-bar-tail {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* 每个组件的规格块 */
.onepc-ui-spec {
  margin-top: 30px;
  padding-top: 26px;
  border-top: 1px solid var(--ws-border);
}

.onepc-ui-spec:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.onepc-ui-spec-head {
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
}

.onepc-ui-spec-title {
  margin: 0;
  font-size: 15.5px;
  font-weight: 650;
  letter-spacing: -0.2px;
  color: var(--ws-text);
}

.onepc-ui-spec-count {
  padding: 2px 9px;
  border-radius: 999px;
  background: var(--ws-secondary-soft);
  color: var(--ws-secondary-hover);
  font-size: 11.5px;
  font-weight: 650;
  white-space: nowrap;
}

.onepc-ui-spec-code {
  font-family: var(--ws-mono);
  font-size: 11.5px;
  color: var(--ws-muted);
}

.onepc-ui-spec-desc {
  margin: 5px 0 0;
  font-size: 12.5px;
  line-height: 1.7;
  color: var(--ws-muted);
}

.onepc-ui-spec-body {
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

/* 维度小块：一个维度一行，左边是维度名 */
.onepc-ui-block {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.onepc-ui-block-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.3px;
  color: var(--ws-muted);
}

.onepc-ui-block-label::after {
  content: '';
  flex: 1 1 auto;
  height: 1px;
  background: var(--ws-border);
}

.onepc-ui-block-body {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.onepc-ui-block-body.is-stack {
  flex-direction: column;
  align-items: stretch;
  gap: 14px;
}

/* 变体矩阵：行 = 一个维度取值，列 = 另一个维度取值 */
.onepc-ui-matrix-wrap {
  width: 100%;
  overflow-x: auto;
  border: 1px solid var(--ws-border);
  border-radius: var(--ws-radius-md);
  background: var(--ws-surface);
}

.onepc-ui-matrix {
  width: 100%;
  border-collapse: collapse;
}

.onepc-ui-matrix th,
.onepc-ui-matrix td {
  padding: 11px 13px;
  border-right: 1px solid var(--ws-border);
  border-bottom: 1px solid var(--ws-border);
  text-align: left;
  vertical-align: middle;
}

.onepc-ui-matrix tr:last-child th,
.onepc-ui-matrix tr:last-child td {
  border-bottom: 0;
}

.onepc-ui-matrix th:last-child,
.onepc-ui-matrix td:last-child {
  border-right: 0;
}

.onepc-ui-matrix thead th {
  background: var(--ws-bg);
  color: var(--ws-muted);
  font-size: 11.5px;
  font-weight: 650;
  white-space: nowrap;
}

.onepc-ui-matrix tbody th {
  width: 1%;
  background: var(--ws-bg);
  color: var(--ws-text);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.onepc-ui-matrix td {
  min-width: 132px;
}

.onepc-ui-matrix td.is-wide {
  min-width: 220px;
}

.onepc-ui-matrix td.is-center {
  text-align: center;
}

/* 计数表里的「维度」列窄一点 */
.onepc-ui-count-table td:first-child strong {
  font-weight: 650;
}

/* ==========================================================================
   原生 <dialog> 的居中（★ 必须显式写，别依赖 UA 默认值）

   原生 dialog 的居中完全靠 UA 样式表里的 `dialog { margin: auto }`。
   但 src/index.css 里的全局 reset 是 `* { margin: 0 }` —— 作者样式优先于 UA 样式，
   所以这条 margin 被清掉，showModal() 出来的弹窗会直接贴到左上角。

   另外注意：只补 margin 还不够。fixed 定位且 top/bottom 都是 0 时，height:auto 会被
   拉伸成满高，margin:auto 就没有剩余空间可分配、也就谈不上垂直居中 ——
   必须同时给 height: fit-content，让盒子回到内容高度。

   一处覆盖控制台里所有原生弹窗，将来新增弹窗不必再踩一遍。
   ========================================================================== */

/* ==========================================================================
   OnePC UI v1.3.0 适配层（2026-10-13）
   --------------------------------------------------------------------------
   组件库换成 antd6 底座后，Card / Row / Alert 这些块自身不带纵向 margin
   （旧手写 .onepc-k-panel 同样没有，但旧 Grid 是 gap:16 的 CSS Grid、卡片是
   直角贴边堆叠；新卡是 14px 圆角，贴边堆叠会在四角露出楔形缝，观感就是
   「面板间隔没做」）。这里给「已迁到新库」的三棵内容子树（.onepc-mg / .onepc-ws /
   .onepc-ui；第四棵 .onepc-as 为何排除见下方约束 ②）的直接子块补回 16px 纵向节奏：
     · 用 margin-top 而不是容器 gap —— 相邻块级 margin 会折叠（取较大值），
       于是页头自带的 margin-bottom: 30px 不会被叠加成 46px；
   只作用于「页面容器的直接子块」，Grid 列内的卡片不受影响（gutter 已有间距）。

   ⚠️ 三条**实测得来的硬约束**（probe-onepc-spacing.mjs，2026-10-13），改这段前先读：

   ① antd6 的 Card / Alert / Row 自身声明了 `margin: 0`。所以「给直接子块兜底 16px」
      的那条规则如果特异性为 0（例如整条包 `:where()`），就压不过 antd —— 实测把
      特异性归零后 `/onepc/office` 立刻退回 3 处 0 间隙、`/onepc/work/123` 退回 2 处。

   ② 但特异性也不能一刀切地拉高。同一元素上「适配层 16px」与「页面自己的
      `margin-top`」是**竞争声明**（不是相邻兄弟的 margin 折叠！），谁特异性高谁赢。
      曾经用单一高特异性规则（0,2,0）时实测把两处页面自带间距压没了：
        · `.onepc-ui-section`    34px → 16px（组件库展示页 /onepc/ui 19 个 section）
        · `.onepc-ws-management` 40px → 16px（/onepc/work 底部「管理」区）
      所以下面拆成两条：**兜底恒为 0 特异性，只把「antd6 块」单独提一档**。

   ③ 容器清单 = 「已迁到新库」的四棵（.onepc-mg / .onepc-ws / .onepc-as / .onepc-ui）。
      ⚠️ 2026-10-15：`.onepc-as`（Chat 域的专家库 / 模型设置）**已迁到新库**
      （Field→antd Form.Item、Badge→Tag、Tabs、Empty、Dialog 全部走组件库，
      页面里出现了 .onepc-ant-form-item / .onepc-ant-tag / .onepc-ant-tabs），
      所以按当初的约定把它加进来。加之前页面上是 0 个 .onepc-ant-*，加之后才有意义。
   ========================================================================== */
/* 兜底：直接子块默认 16px。恒为 0 特异性 → 页面上任何显式声明的 margin 都赢。 */
:where(.onepc-app .onepc-mg, .onepc-app .onepc-ws, .onepc-app .onepc-as, .onepc-app .onepc-ui) > * + * {
  margin-top: 16px;
}

.onepc-app :is(.onepc-mg, .onepc-ws, .onepc-as, .onepc-ui) > * + [class*='onepc-ant-'] {
  margin-top: 16px;
}

/* 备注：antd6 的纵向 gutter 是 Row 上的 row-gap（实测 col 无上下 padding、
   Row 也无负 margin），所以 Row 不需要例外，与其他块一样吃 16px 即可。 */

/* 页面顶部的 Stat 指标块补回卡片盒：v1.3.0 的 Statistic 是裸排版（不带边框底色），
   旧版 .onepc-k-stat 是 16/18 内边距 + 1px 边框的盒子。只框「页面容器直接子 Grid
   的列里那一个」，不影响 Panel 内部正常使用的 Statistic。 */
/* 盒子套在 Stat 的包裹层上（Statistic + foot 趋势行都在里面），用 :has 精确命中 */
.onepc-app :is(.onepc-mg, .onepc-ws, .onepc-ui) > .onepc-ant-row > .onepc-ant-col > div:has(> .onepc-ant-statistic) {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 18px;
  border: 1px solid var(--ws-border, #e4e4e7);
  border-radius: var(--ws-radius-md, 10px);
  background: var(--ws-surface, #fff);
}

/* ==========================================================================
   组件库接管后的三处小补丁（2026-10-15）
   按钮 / 徽标 / 输入框 / 页签 / 弹窗 / 空态 / 表单字段的**外观**都已改由
   src/onepc-ui 承担，OnePC.css 里对应的手写规则已全部删除（约 576 行）。
   下面只留三样「结构必须、外观不抢」的东西。
   ========================================================================== */

/* ① 空态标题/说明：文案节点是我们塞进组件库 `Empty` 插槽的 <h3>/<p>
   （保留 .onepc-mg-empty h3 这类结构类名给校验脚本用），
   所以这里只做浏览器默认样式的复位，字号/颜色仍取组件库令牌。 */
.onepc-ws .onepc-mg-empty h3,
.onepc-mg .onepc-mg-empty h3,
.onepc-as .onepc-as-empty h3 {
  margin: 0;
  font-size: var(--ws-font-size-h3);
  font-weight: var(--ws-font-weight-heading);
  line-height: 1.4;
  color: var(--ws-text);
}

.onepc-ws .onepc-mg-empty p,
.onepc-mg .onepc-mg-empty p,
.onepc-as .onepc-as-empty p {
  margin: 4px 0 0;
  font-size: var(--ws-font-size-small);
  line-height: 1.6;
  color: var(--ws-muted);
}

/* ② 专家库工具条里的搜索框宽度：外观（边框/圆角/底色/图标）由组件库的
   SearchBox 负责，这里只约束它在工具条里占多宽。 */
.onepc-as-toolbar > .onepc-as-search {
  max-width: 320px;
}

/* ③ 键盘可达性：只保留仍是手写结构的目标（库件由组件库自己的 focus ring 负责）。
   原来这两条还包含 .onepc-ws-tabs / .onepc-as-tabs / .onepc-mg-tabs / .onepc-ws-btn，
   那些都已换成组件库件，已从选择器里去掉。 */
.onepc-ws-management-grid > button:focus-visible {
  outline: 3px solid var(--ws-primary);
  outline-offset: 3px;
}

.onepc-mg-tree-toolbar button:focus-visible,
.onepc-mg-toggle:focus-visible,
.onepc-mg-select:focus-visible {
  outline: 3px solid var(--ws-primary);
  outline-offset: 3px;
}
.enterprise-list-page {
  padding: 24px;
  min-height: 100%;
}

/* 搜索和操作区域 */
.search-action-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #fff;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 16px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.search-filter-group {
  display: flex;
  align-items: center;
  gap: 8px;
}

.filter-divider {
  width: 1px;
  height: 24px;
  background-color: #e8e8e8;
  margin: 0 4px;
}

.filter-label {
  font-size: 14px;
  color: #666;
  white-space: nowrap;
}

.search-filter-group .ant-select {
  background-color: transparent;
}

.search-filter-group .ant-select-selector {
  background-color: transparent !important;
}

.action-buttons {
  display: flex;
  gap: 8px;
}

/* 表格区域 */
.table-section {
  background-color: #fff;
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.table-section .ant-table {
  font-size: 13px;
}

.table-section .ant-table-thead > tr > th {
  background-color: #fafafa;
  font-weight: 600;
}/* 企业管理模块通用列表页样式（与企业列表风格一致） */
.bus-list-page {
  padding: 24px;
  min-height: 100%;
}

/* 搜索和操作区域 */
.bus-list-page .search-action-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  background-color: #fff;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 16px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.bus-list-page .search-filter-group {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.bus-list-page .filter-label {
  font-size: 14px;
  color: #666;
  white-space: nowrap;
}

.bus-list-page .action-buttons {
  display: flex;
  gap: 8px;
}

/* 表格区域 */
.bus-list-page .table-section {
  background-color: #fff;
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.bus-list-page .table-section .ant-table {
  font-size: 13px;
}

.bus-list-page .table-section .ant-table-thead > tr > th {
  background-color: #fafafa;
  font-weight: 600;
}

/* 统计卡片 */
.bus-stats-row {
  margin-bottom: 16px;
}

.bus-stats-card {
  border-radius: 12px;
  overflow: hidden;
}

.bus-stats-card .ant-card-body {
  padding: 18px 20px;
}

.bus-stats-label {
  font-size: 13px;
  color: #8c8c8c;
  margin-bottom: 6px;
}

.bus-stats-value {
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2;
}

.bus-stats-sub {
  font-size: 12px;
  color: #bfbfbf;
  margin-top: 4px;
}

.bus-stats-icon {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #fff;
}

/* ===== 任务列表：进度条强调样式（加粗 + 高饱和渐变，让进度一眼可见） =====
   antd 默认 track 用的是 colorPrimaryBorder（主色浅调），在表格里存在感很弱。
   这里把轨道加高到 8px 并换成主色渐变（跟随全局主题色 #667eea），
   同时放大滑块、加深色环。 */
.ant-slider.task-progress-slider {
  height: 16px;
}

.ant-slider.task-progress-slider .ant-slider-rail {
  height: 8px !important;
  border-radius: 4px;
  background-color: #e9eaf5 !important;
}

.ant-slider.task-progress-slider .ant-slider-track {
  height: 8px !important;
  border-radius: 4px;
  background-color: #667eea !important;
  background-image: linear-gradient(90deg, #8593f0 0%, #667eea 100%) !important;
  box-shadow: 0 0 8px rgba(102, 126, 234, 0.45);
}

/* 滑块位置需随轨道加高同步下移：(16 - 10) / 2 = 3px */
.ant-slider.task-progress-slider .ant-slider-handle {
  inset-block-start: 3px !important;
}

/* 可见圆点是 ::after（::before 只是扩大点击区，不要动） */
.ant-slider.task-progress-slider .ant-slider-handle::after {
  width: 12px !important;
  height: 12px !important;
  inset-inline-start: -1px !important;
  inset-block-start: -1px !important;
  background-color: #fff !important;
  box-shadow: 0 0 0 3px #667eea, 0 2px 6px rgba(102, 126, 234, 0.35) !important;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body, #root {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#root {
  min-height: 100vh;
}/* 全局样式重置与基础样式 */

/* 主题颜色变量 - 修改这里即可改变整体主题色 */
:root {
  /* 主渐变色 - 左紫右蓝 */
  --primary-gradient: linear-gradient(135deg, #5e2ce8 0%, #0066ff 100%);
  --primary-color-start: #5e2ce8;  /* 紫色起点 */
  --primary-color-end: #0066ff;    /* 蓝色终点 */
  
  /* 派生颜色 */
  --primary-light: rgba(94, 44, 232, 0.1);
  --primary-light-2: rgba(94, 44, 232, 0.2);
  --primary-shadow: rgba(94, 44, 232, 0.4);
  --primary-shadow-light: rgba(94, 44, 232, 0.15);
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.ant-modal-content{
  padding: 35px 20px !important;
}

html, body, #root {
  height: 100%;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden; /* 防止页面整体滚动 */
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* 滚动条样式 */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 3px;
}

::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* 通用工具类 */
.text-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* 动画 */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}

@keyframes typing {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}

.fade-in {
  animation: fadeIn 0.3s ease-in-out;
}

.slide-in-left {
  animation: slideInLeft 0.3s ease-out;
}